麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JSP > 正文

JSP隱含對象response實現(xiàn)文件下載

2024-09-05 00:22:26
字體:
供稿:網(wǎng)友
這篇文章主要介紹了JSP隱含對象response實現(xiàn)文件下載的兩種方式,對response實現(xiàn)文件下載的方式進行詳細解析,感興趣的小伙伴們可以參考一下
 

一.簡單介紹JSP隱含對象response實現(xiàn)文件下載

(1)在JSP中實現(xiàn)文件下載最簡單的方法是定義超鏈接指向目標(biāo)資源,用戶單擊超鏈接后直接下載資源,但直接暴露資源的URL也會帶來一些負面的影響,例如容易被其它網(wǎng)站盜鏈,造成本地服務(wù)器下載負載過重。
(2)另外一種下載文件的方法是使用文件輸出流實現(xiàn)下載,首先通過response報頭告知客戶端瀏覽器,將接收到的信息另存為一個文件,然后用輸出流對象給客戶端傳輸文件數(shù)據(jù),瀏覽器接收數(shù)據(jù)完畢后將數(shù)據(jù)另存為文件,這種下載方法的優(yōu)點是服
務(wù)器端資源路徑的保密性好,并可控制下載的流量以及日志登記等。
二.兩種文件的下載方式
(1)二進制文件的下載
用JSP程序下載二進制文件的基本原理是:首先將源文件封裝成字節(jié)輸入流對象,通過該對象讀取文件數(shù)據(jù),獲取response對象的字節(jié)輸出流對象,通過輸出流對象將二進制的字節(jié)數(shù)據(jù)傳送給客戶端。
1.把源文件封裝成字節(jié)輸入流對象
2.讀取二進制字節(jié)數(shù)據(jù)并傳輸給客戶端
代碼如下:

<%@ page contentType="application/x-download" import="java.io.*" %> <%  int status=0;  byte b[]=new byte[1024];  FileInputStream in=null;  ServletOutputStream out2=null;  try  {  response.setHeader("content-disposition","attachment; filename=d.zip");  in=new FileInputStream("c://tomcat//webapps//ROOT//d.zip");  out2=response.getOutputStream();  while(status != -1 )   {   status=in.read(b);   out2.write(b);   }  out2.flush();  }  catch(Exception e)  {  System.out.println(e);  response.sendRedirect("downError.jsp");  }  finally  {  if(in!=null)   in.close();  if(out2 !=null)   out2.close();  } %> 

(2)文本文件下載
文本文件下載時用的是字符流,而不是字節(jié)流。首先取得源文件的字符輸入流對象,用java.io.FileReader類封裝,再把FileReader對象封裝為java.io.BufferedReader,以方便從文本文件中一次讀取一行。字符輸出流直接用JSP的隱含對象out,out能夠輸出字符數(shù)據(jù)。

代碼如下:

<%@ page contentType="application/x-download" import="java.io.*" %><%  int status=0;  String temp=null;  FileReader in=null;  BufferedReader in2=null;  try  {  response.setHeader("content-disposition","attachment; filename=ee.txt");  response.setCharacterEncoding("gb2312");  in=new FileReader("c://tomcat//webapps//ROOT//ee.txt");  in2=new BufferedReader(in);  while((temp=in2.readLine()) != null )   {   out.println(temp);   }  out.close();  }  catch(Exception e)  {  System.out.println(e);  response.sendRedirect("downError.jsp");  }  finally  {  if(in2!=null)   in2.close();  } %> 

希望本文所述對大家學(xué)習(xí)JSP隱含對象response實現(xiàn)文件下載有所幫助。



注:相關(guān)教程知識閱讀請移步到JSP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产va在线观看免费 | 涩涩操 | 国产乱弄| av在线播放电影 | 免费国产自久久久久三四区久久 | 国产亚洲欧美在线视频 | 99re热精品视频 | 狠狠干导航 | 一级片999 | 国产亚洲精彩视频 | 成人在线视频免费播放 | 日韩精品中文字幕一区二区三区 | 麻豆视频在线观看免费网站 | 免费一级毛片在线播放不收费 | 欧美精品成人一区二区三区四区 | 黄色毛片免费视频 | 国产亚洲美女精品久久久2020 | 久久看视频 | 羞羞答答tv | 国产第一页精品 | 国内精品久久久久久2021浪潮 | 羞羞网站在线观看入口免费 | 国产18成人免费视频 | 成年性羞羞视频免费观看无限 | 欧美乱论 | 影视免费观看 | 亚洲射情| 日日草夜夜 | 黄色免费在线网址 | 钻石午夜影院 | 成人在线观看免费观看 | 国产日韩一区二区三区在线观看 | 精品亚洲一区二区 | 亚洲福利视 | 欧美一级毛片欧美一级成人毛片 | 黄色免费在线视频网站 | 午夜视频久久久 | 蜜桃传媒视频麻豆第一区免费观看 | 91小视频在线观看免费版高清 | 一级毛片免费大片 | 一级一片免费看 |