<%@ page language="java" import="java.util.*,java.io.*"
pageEncoding="GBK"%>
<%@ page import="com.jspsmart.upload.*"%>
<%
response.setCharacterEncoding("utf-8");
String path = request.getParameter("path");
path = new String(path.getBytes("iso-8859-1"));//parameter must be iso-8859-1
String fileName = path.substring(path.lastIndexOf("/"));
SmartUpload su = new SmartUpload();
su.initialize(pageContext); //initiate
su.setContentDisposition(null); // 设定contentdisposition为null以禁止浏览器自动打开文件,
su.downloadFile(fileName, "image/JPEG", "image");//sourceFilePathName,content-Type,destinationFileName
%>
1、setContentDisposition
作用:将数据追加到MIME文件头的CONTENT-DISPOSITION域。jspSmartUpload组件会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。
原型:public void setContentDisposition(String contentDisposition)
其中,contentDisposition为要添加的数据。如果contentDisposition为null,则组件将自动添加"attachment;",以表明将下载的文件作为附件,结果是IE浏览器将会提示另存文件,而不是自动打开这个文件(IE浏览器一般根据下载的文件扩展名决定执行什么操作,扩展名为doc的将用Word程序打开,扩展名为pdf的将用acrobat程序打开,等等)。
2、downloadFile
作用:下载文件。
原型:共有以下三个原型可用,第一个最常用,后两个用于特殊情况下的文件下载(如更改内容类型,更改另存的文件名)。
① public void downloadFile(String sourceFilePathName)
其中,sourceFilePathName为要下载的文件名(带目录的文件全名)
② public void downloadFile(String sourceFilePathName,String contentType)
其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别)。
③ public void downloadFile(String sourceFilePathName,String contentType,String destFileName)
其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别),destFileName为下载后默认的另存文件名。
其中Content-Type: "image/GIF"动图, "image/JPEG" 为JPG图片。destFileName可以是“image”,点击下载时图片自动为"image.jpg"。