Servlet下載檔案
Java Servlet下載檔案的程式碼如下:
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
public class ExcelServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response){
this.doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response){
try{
String path = "D:\\GeoInfoService_List\\GeoInfoService\\web\\file\\template.xls";
File f = new File(path);
response.setHeader("Content-disposition", "attachment; filename=output.xls");// 設定輸出檔案頭
response.setContentType("application/x-msdownload");
OutputStream os = response.getOutputStream();
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
byte data[] = new byte[1024];
int length = -1;
while((length = bis.read(data)) != -1){
os.write(data,0,length);
}
bis.close();
os.flush();
os.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
不要在os上再包一層BufferdOutputStream用它來write,這樣會導致下載的檔案比實際的檔案小,導致檔案流部分丟失,檔案損壞無法開啟。
相關文章
- 使用Servlet實現檔案下載Servlet
- 檔案下載
- servlet上傳下載Servlet
- 00、下載檔案
- Ajax 下載檔案
- js 檔案下載JS
- HttpClient 下載檔案HTTPclient
- JAVA檔案下載Java
- Response下載檔案
- FastApi下載檔案ASTAPI
- 檔案程式設計、檔案下載程式設計
- servlet實現下載功能Servlet
- SpringMVC檔案上傳下載(單檔案、多檔案)SpringMVC
- python之檔案下載Python
- 檔案上傳下載
- Flutter 下載檔案操作Flutter
- python 下載檔案demoPython
- 檔案下載(URL,文件流)
- CentOS 7映象檔案下載CentOS
- 檔案下載那點事
- 如何下載 Ubuntu 映象檔案?Ubuntu
- JAVA檔案上傳下載Java
- IDM下載度盤檔案
- Flutter實現檔案下載Flutter
- 使用 header 頭下載檔案Header
- 6.1檔案下載、讀取
- AJAX實現檔案下載----
- goroutine&waitgroup下載檔案GoAI
- 前端如何下載檔案流前端
- springboot 檔案上傳下載Spring Boot
- 檔案上傳與下載
- Netty接收HTTP檔案上傳及檔案下載NettyHTTP
- spring cloud feign 檔案上傳和檔案下載SpringCloud
- 精講RestTemplate第6篇-檔案上傳下載與大檔案流式下載REST
- vue/js實現檔案流下載,檔案下載進度監聽VueJS
- a標籤與Blob下載檔案的區別和獲取檔案下載進度
- 前端檔案下載通識篇前端
- 多執行緒下載檔案執行緒
- 前端通過 post 下載檔案前端