更新時間:2021-05-26 09:58:02 來源:動力節(jié)點 瀏覽1011次
文件下載其實說多了就是從服務(wù)器中(你部署的項目中)讀取出資源文件,然后通過response返回給客戶端。其實tomcat已經(jīng)對文件上傳有很好的封裝了,我們只需要知道需要下載的文件路徑和文件字節(jié)流就能夠輕松地實現(xiàn)文件下載功能。不多說了,直接上代碼
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);
//設(shè)置文件的MIME類型
response.setContentType(getServletContext().getMimeType(name));
//設(shè)置響應(yīng)頭文件,標(biāo)識為文件下載類型,并附上文件的名稱
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 = "文件路徑">超鏈接實現(xiàn)下載</a><br/>
<a href ="DownLoadServlet?filename=1.xls" >放假通知表!</a>
</body>
以上就是動力節(jié)點小編介紹的"文件下載Java代碼實現(xiàn)",希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為您服務(wù)。