Response文件下载
生活随笔
收集整理的這篇文章主要介紹了
Response文件下载
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Response文件下載
- javaweb 里的知識 覺得這個是學到啦 所以記錄下來
- 方便下一次查看
簡易代碼
package com.hui.servlet;import javax.servlet.Servlet; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.FileInputStream; import java.io.IOException; import java.net.URLEncoder;public class FileServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1 獲取下載的路徑String realPath = "D:\\idea\\javaweb-01-servlet\\target\\classes\\王小慧.png";System.out.println("下載文件的路徑:" + realPath); // 2 下載的文件名稱String fileName = realPath.substring(realPath.lastIndexOf("\\") + 1); // 3 設置想辦法讓瀏覽器能夠支持(Content-disposition)來下載,我們需要東西中文文件名 URLEncoder.encode編碼,否則可能亂碼resp.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); // 4 獲取下載文件的輸入流FileInputStream in = new FileInputStream(realPath); // 5 創建緩沖區int len = 0;byte[] buffer = new byte[1024]; // 6 獲取OutputStream對象ServletOutputStream out = resp.getOutputStream(); // 7 將FileOutputStream流寫入到buffer緩沖區,使用OutputStream將緩沖區的數據輸出到客戶端while ((len = in.read(buffer)) > 0) {out.write(buffer, 0, len);}in.close();out.close();}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }- 一次簡易的代碼 這方面還不熟悉 還在剛剛學習。
- 很多東西也不都不太懂
總結
以上是生活随笔為你收集整理的Response文件下载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重置样式表--HTML
- 下一篇: Response重定向---javawe