更新時間:2021-05-26 09:58:02 來源:動力節點 瀏覽961次
文件下載其實說多了就是從服務器中(你部署的項目中)讀取出資源文件,然后通過response返回給客戶端。其實tomcat已經對文件上傳有很好的封裝了,我們只需要知道需要下載的文件路徑和文件字節流就能夠輕松地實現文件下載功能。不多說了,直接上代碼
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("filename");
//獲取文件的絕對路徑
String path = request.getServletContext().getRealPath("WEB-INF/download/"+name);
System.out.println(path);
//設置文件的MIME類型
response.setContentType(getServletContext().getMimeType(name));
//設置響應頭文件,標識為文件下載類型,并附上文件的名稱
response.setHeader("Content-Disposition", "attachment;filename="+name);
//對文件進行讀取和存貯
InputStream is = new FileInputStream(path);
OutputStream os = response.getOutputStream();
byte[] flush = new byte[1024];
int len = 0;
while((len = is.read(flush))!=-1){
os.write(flush,0,len);
os.flush();
}
is.close();
}
其中還有一種文件下載的方式,而且賊簡單。就是直接以超鏈接的形式指定到你的文件,客戶端點擊文件之后,就會自動下載。不過這種方式也有弊端,如果是瀏覽器識別的文件,瀏覽器會直接打開,而不會下載。代碼如下:
<body>
<a href = "文件路徑">超鏈接實現下載</a><br/>
<a href ="DownLoadServlet?filename=1.xls" >放假通知表!</a>
</body>
以上就是動力節點小編介紹的"文件下載Java代碼實現",希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習