java web項目實現(xiàn)文件下載實例代碼
更新時間:2013年09月16日 16:46:01 作者:
現(xiàn)在項目里面有個需求,需要把系統(tǒng)產(chǎn)生的日志文件給下載到本地
先獲取所有的日志文件列表,顯示到界面,選擇一個日志文件,把文件名傳到后臺
復(fù)制代碼 代碼如下:
File file = new File(path);// path是根據(jù)日志路徑和文件名拼接出來的
String filename = file.getName();// 獲取日志文件名稱
InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
response.reset();
// 先去掉文件名稱中的空格,然后轉(zhuǎn)換編碼格式為utf-8,保證不出現(xiàn)亂碼,這個文件名稱用于瀏覽器的下載框中自動顯示的文件名
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.replaceAll(" ", "").getBytes("utf-8"),"iso8859-1"));
response.addHeader("Content-Length", "" + file.length());
OutputStream os = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
os.write(buffer);// 輸出文件
os.flush();
os.close();
struts2.0中,可以使用public void downloadFile(){}這種方法,返回值類型為void,調(diào)用時,直接寫downloadFile.do就可以出現(xiàn)下載提示框
相關(guān)文章
Android開發(fā)Activity管理工具類的操作方法
這篇文章主要介紹了Android開發(fā)Activity管理工具類,下面是一個完整的Activity管理工具類實現(xiàn),可以幫助你管理應(yīng)用中的所有Activity,方便一鍵退出應(yīng)用、獲取當(dāng)前Activity等操作,需要的朋友可以參考下2021-02-02
Mybatis反射核心類Reflector的實現(xiàn)
本文主要介紹了Mybatis反射核心類Reflector的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11

