日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sevlet实现下载文件功能

發(fā)布時(shí)間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sevlet实现下载文件功能 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

希望做一個(gè)小板塊,實(shí)現(xiàn)文件的上傳和下載,那么上傳實(shí)現(xiàn)了,就需要實(shí)現(xiàn)下載,閱讀了各位的博客總結(jié)了一下。在網(wǎng)頁中通過超鏈接是可以訪問我的資源的,瀏覽器不可訪問的資源他就會(huì)下載到本地,像一些瀏覽器可以直接訪問的如圖片,txt文件瀏覽器會(huì)直接打開。這就需要我們?cè)趕evlet中統(tǒng)一處理文件下載。
在sevlet中,首先要獲得jsp或html中的相應(yīng),文件名,通過文件名構(gòu)建路徑得到資源,在設(shè)置response的一些參數(shù)(要下載的)。這樣之后使用io讀取文件,在讀入文件(不設(shè)置絕對(duì)路徑)時(shí)候就是自動(dòng)保存在瀏覽器默認(rèn)位置。要下載文件的路徑為:

sevlet核心代碼:

import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class download extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String filename= request.getParameter("filename");//獲取文件名response.setContentType("text/html");System.out.println(filename);//設(shè)置文件MIME類型 response.setContentType(getServletContext().getMimeType(filename)); //設(shè)置Content-Disposition response.setHeader("Content-Disposition", "attachment;filename=" filename);String fullFileName = getServletContext().getRealPath("/image/" filename); //獲取絕對(duì)路徑InputStream in = new FileInputStream(fullFileName); OutputStream out = response.getOutputStream(); //PrintWriter out = response.getWriter();int b=0;while((b=in.read())!=-1){out.write(b);}in.close();out.close();}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);} }

點(diǎn)擊去訪問


文件下載成功,放置在默認(rèn)下載路徑。
至于大文件可以加緩存下載優(yōu)化,其他優(yōu)化的不太清楚。知道的話可以一起討論。

總結(jié)

以上是生活随笔為你收集整理的sevlet实现下载文件功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。