<%
// 有时候用户想要下载文件,但是这个文件类型在系统中与浏览器关联了,结果就变成在IE中打开。
// 常见的有word, excel, pdf等。因此将文件转成数据流让浏览器不知道其文件类型而达到下载的目的。
// example:
// <a href="download.jsp?path=img/&name=test.gif">download image</a>
String root = getServletContext().getRealPath("/");
String path = request.getParameter("path");
String name = request.getParameter("name");
response.setContentType("unknown");
// 注意,如果去掉下面一行代码中的attachment; 那么也会使IE自动打开文件。
response.addHeader("Content-Disposition", "attachment; filename=/"" + name + "/"");
try
{
java.io.OutputStream os = response.getOutputStream();
java.io.FileInputStream fis = new java.io.FileInputStream(root + path + name);
byte[] b = new byte[1024];
int i = 0;
while ( (i = fis.read(b)) > 0 )
{
os.write(b, 0, i);
}
fis.close();
os.flush();
os.close();
}
catch ( Exception e )
{}
%>