图片实现默认下载而不是打开图片(Java版)

在网页上,如果我们的超链接的地址对应的是一个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&amp;filepath=http://127.0.0.1:8080/shareFolder/other/WinGUI.exe">/other/WinGUI.exe</a>

通过这样方式,我们就能实现文件的默认下载了,而不是浏览器的默认打开。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。