檔案下載
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
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;
@WebServlet("/FileServlet")
public class FileServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1、獲取下載檔案的路徑
String realPath="H:\\Maven\\ServletTest\\Download\\src\\main\\resources\\天空.png";
System.out.println(realPath);
// 2、下載的檔名是啥
String fileName = realPath.substring(realPath.lastIndexOf("\\") + 1);
// 3、設定瀏覽器能夠支援下載的東西,中文檔名需要指定編碼方式,否則可能會亂碼
response.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= response.getOutputStream();
// 7、將FileOutputStream流寫入buffer,使用outputStream將緩衝區資料輸出到客戶端
while((len=in.read(buffer))>0)
{
out.write(buffer,0,len);
}
in.close();
out.close();
}
}
相關文章
- 00、下載檔案
- Ajax 下載檔案
- FastApi下載檔案ASTAPI
- MVC 下載檔案MVC
- js 檔案下載JS
- Servlet下載檔案Servlet
- httpWebRequest 檔案下載HTTPWeb
- php檔案下載PHP
- .net 檔案下載
- php 檔案下載PHP
- HttpClient 下載檔案HTTPclient
- Response下載檔案
- 檔案程式設計、檔案下載程式設計
- iOS開發網路篇之檔案下載、大檔案下載、斷點下載iOS斷點
- Flutter 下載檔案操作Flutter
- SpringMVC檔案下載SpringMVC
- 【springmvc】下載檔案SpringMVC
- 使用PHP下載檔案PHP
- 檔案下載相關
- ftp下載指定檔案FTP
- C#檔案下載C#
- PHP檔案下載原理PHP
- 檔案上傳下載
- SpringMVC檔案上傳下載(單檔案、多檔案)SpringMVC
- java上傳檔案跟批量下載檔案Java
- 利用secure crt下傳下載檔案
- 如何下載 Ubuntu 映象檔案?Ubuntu
- 檔案下載(URL,文件流)
- Flutter實現檔案下載Flutter
- 檔案下載那點事
- AJAX實現檔案下載----
- CentOS 7映象檔案下載CentOS
- 檔案上傳與下載
- python 下載檔案demoPython
- JAVA檔案上傳下載Java
- 前端如何下載檔案流前端
- python之檔案下載Python
- 使用readfile()下載檔案