用Jsp来实现文件下载功能的几种方式

发表于:2008-04-29来源:作者:点击数: 标签:Jsp文件下载功能
关键字:Jsp 1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。 2.在服务器端把文件转换成输出流,写入到response,以re
关键字:Jsp

1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。

2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地。(示例如下)

<%
 response.setContentType(fileminitype);
 response.setHeader("Location",filename);
 response.setHeader("Cache-Control", "max-age=" + cacheTime);
     //filename应该是编码后的(utf-8)
 response.setHeader("Content-Disposition", "attachment; filename=" + filename); 
 
 response.setContentLength(filelength);
 OutputStream outputStream = response.getOutputStream();
 InputStream inputStream = new FileInputStream(filepath);
 byte[] buffer = new byte[1024];
 int i = -1;
 while ((i = inputStream.read(buffer)) != -1) {
  outputStream.write(buffer, 0, i);
  }
 outputStream.flush();
 outputStream.close();
 inputStream.close();
 outputStream = null;

%>

原文转自:http://www.ltesting.net