浅析JSP文件下载的几种不同方式

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

创新互联公司专业为企业提供蜀山网站建设、蜀山做网站、蜀山网站设计、蜀山网站制作等企业网站建设、网页设计与制作、蜀山企业网站模板建站服务,十多年蜀山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

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

 
 
 
  1. <%  
  2.  response.setContentType(fileminitype);  
  3.  response.setHeader("Location",filename);  
  4.  response.setHeader("Cache-Control", "max-age=" + cacheTime);  
  5.  response.setHeader("Content-Disposition", "attachment; filename=" + filename); //filename应该是编码后的(utf-8)  
  6.  response.setContentLength(filelength);  
  7.  OutputStream outputStream = response.getOutputStream();  
  8.  InputStream inputStream = new FileInputStream(filepath);  
  9.  byte[] buffer = new byte[1024];  
  10.  int i = -1;  
  11.  while ((i = inputStream.read(buffer)) != -1) {  
  12.   outputStream.write(buffer, 0, i);  
  13.   }  
  14.  outputStream.flush();  
  15.  outputStream.close();  
  16.  inputStream.close();  
  17.  outputStream = null;  
  18.  
  19. %> 

3.既然是JSP文件下载的话,还有一种JSP文件下载方式就是用Applet来实现文件的下载。不过客户首先得信任你的这个Applet小程序,由这个程序来接受由servlet发送来的数据流,并写入到本地。

servlet端示例

 
 
 
  1. public void service(HttpServletRequest req, HttpServletResponse res)  
  2.            throws ServletException, IOException {  
  3.        res.setContentType(" text/plain ");  
  4.        OutputStream outputStream = null;  
  5.        try {  
  6.            outputStream = res.getOutputStream();  
  7.            popFile(srcFile, outputStream)) ;//把文件路径为srcFile的文件写入到outputStream中。  
  8.        } catch (IOException e) {  
  9.            e.printStackTrace();  
  10.        }  
  11.    }  

JApplet端示例

URLConnection con;

分享名称:浅析JSP文件下载的几种不同方式
路径分享:http://www.hantingmc.com/qtweb/news31/533831.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联