a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > JSP > 正文

JSP隱含對象response實現文件下載

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

一.簡單介紹JSP隱含對象response實現文件下載

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

<%@ 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)文本文件下載
文本文件下載時用的是字符流,而不是字節流。首先取得源文件的字符輸入流對象,用java.io.FileReader類封裝,再把FileReader對象封裝為java.io.BufferedReader,以方便從文本文件中一次讀取一行。字符輸出流直接用JSP的隱含對象out,out能夠輸出字符數據。

代碼如下:

<%@ 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();  } %> 

希望本文所述對大家學習JSP隱含對象response實現文件下載有所幫助。



注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美视频中文字幕 | 九九综合九九 | 欧美精品一区二区免费 | 国产精品一区二区三区四区 | 日本男人的天堂 | 亚洲爱 | 成人一边做一边爽爽视频 | 91久久久久 | 久草福利在线视频 | 久久天堂网 | 91免费观看 | 久国久产久精永久网页 | 国产一区在线视频 | 日本污视频在线观看 | 久久久久久久久久久久久久久久久久久 | 欧美一级视频 | 蜜桃官网 | 国产精品亲子伦av一区二区三区 | 99日韩| 色婷婷综合久久久久中文一区二 | 伊人av超碰久久久麻豆 | 欧美久久大片 | 亚洲国产精品久久 | 欧美精品在线一区二区 | 精品国产一区二区三区成人影院 | 国产福利片在线观看 | 在线观看亚洲大片短视频 | 91伦理片 | 成人tv888| 国产精品69毛片高清亚洲 | 黄色影院在线观看 | 久久99精品久久久久久国产越南 | 狠狠入ady亚洲精品经典电影 | www伊人 | 午夜高清视频在线观看 | 国产精品免费观看 | 久久资源av| 黄网站免费在线 | 国产精品a免费一区久久电影 | 国产ts视频 | 超碰97在线免费 |