在网页上,如果我们的超链接的地址对应的是一个jpg文件,txt文件等,点击链接时,浏览器默认的是打开这些文件而不是下载,那么如何才能实现默认下载呢。
可通过自己写一个download.jsp来实现。
<span style="font-size:18px;"><%@ page contentType="text/html; charset=UTF-8"%>
<%@ page import="java.net.*"%>
<%
//得到文件名字和路径
String filename = request.getParameter("filename");
String filepath = request.getParameter("filepath");
String displayfilename = URLEncoder.encode(filename,"UTF-8");
try {
response.setContentType("application/x-download");
response.setHeader("Content-Disposition","attachment;filename=\"" + displayfilename + "\"");
RequestDispatcher dis = application.getRequestDispatcher(filepath + filename);
if (dis != null) {
dis.forward(request,response);
}
response.flushBuffer();
} catch (Exception e) {
System.out.println("下载取消:" + filepath + filename);
}
out.clear();
out = pageContext.pushBody();
%></span>当我们要链接图片(或其他浏览器默认打开的格式,这里以图片为例)时,把对应的文件名和地址传入download.jsp的filename和filepath参数里,具体写法如下
<a class="blue-line-a" href=" /PackTool/download.jsp?filename=WinGUI.exe&filepath=http://127.0.0.1:8080/shareFolder/other/WinGUI.exe">/other/WinGUI.exe</a>
通过这样方式,我们就能实现文件的默认下载了,而不是浏览器的默认打开。
原文:http://blog.csdn.net/u011768325/article/details/46364503