java文件下載設置中文名稱的實例(response.addHeader)
更新時間:2017年12月01日 10:11:54 作者:摳腳大漢在摳腳
下面小編就為大家分享一篇java文件下載設置中文名稱的實例(response.addHeader),具有很好的參考價值,希望對大家有所幫助
實例如下:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String browser = ""; String fileName = "測試.txt"; try { browser = request.getHeader("User-Agent"); if (-1 < browser.indexOf("MSIE 6.0") || -1 < browser.indexOf("MSIE 7.0")) { // IE6, IE7 瀏覽器 response.addHeader("content-disposition", "attachment;filename=" + new String(fileName.getBytes(), "ISO8859-1")); } else if (-1 < browser.indexOf("MSIE 8.0")) { // IE8 response.addHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); } else if (-1 < browser.indexOf("MSIE 9.0")) { // IE9 response.addHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); } else if (-1 < browser.indexOf("Chrome")) { // 谷歌 response.addHeader("content-disposition", "attachment;filename*=UTF-8''" + URLEncoder.encode(fileName, "UTF-8")); } else if (-1 < browser.indexOf("Safari")) { // 蘋果 response.addHeader("content-disposition", "attachment;filename=" + new String(fileName.getBytes(), "ISO8859-1")); } else { // 火狐或者其他的瀏覽器 response.addHeader("content-disposition", "attachment;filename*=UTF-8''" + URLEncoder.encode(fileName, "UTF-8")); } } catch (Exception e) { e.printStackTrace(); } InputStream in = new FileInputStream("D:\\test.txt");//獲取文件輸入流 int len = 0; byte[] buffer = new byte[1024]; OutputStream out = response.getOutputStream(); while ((len = in.read(buffer)) > 0) { out.write(buffer,0,len);//將緩沖區(qū)的數(shù)據(jù)輸出到客戶端瀏覽器 } in.close(); out.flush(); out.close(); }
判斷各個瀏覽器,然后進行解碼和加碼。
以上這篇java文件下載設置中文名稱的實例(response.addHeader)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- java web response提供文件下載功能的實例講解
- HttpServletResponse亂碼問題_動力節(jié)點Java學院整理
- 淺談java分頁三個類 PageBean ResponseUtil StringUtil
- java HttpServletRequest和HttpServletResponse詳解
- Java中HttpServletResponse響應中文出現(xiàn)亂碼問題
- JavaEE通過response實現(xiàn)請求重定向
- JavaEE中用response向客戶端輸出中文數(shù)據(jù)亂碼問題分析
- JavaWeb response完成重定向?qū)崿F(xiàn)過程詳解
相關(guān)文章
Idea?中控制啟動命令的詳細過程?區(qū)分環(huán)境案例詳解
這篇文章主要介紹了Idea?中控制啟動命令的詳細過程?區(qū)分環(huán)境案例詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08Spring的@PreAuthorize注解自定義權(quán)限校驗詳解
這篇文章主要介紹了Spring的@PreAuthorize注解自定義權(quán)限校驗詳解,由于項目中,需要對外開放接口,要求做請求頭校驗,不做其他權(quán)限控制,所以準備對開放的接口全部放行,不做登錄校驗,需要的朋友可以參考下2023-11-11java-servlet-轉(zhuǎn)發(fā)AND路徑(詳解)
下面小編就為大家?guī)硪黄猨ava-servlet-轉(zhuǎn)發(fā)AND路徑(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10