1. 程式人生 > >檔案下載firefox瀏覽器和chrom瀏覽器中文名不顯示問題

檔案下載firefox瀏覽器和chrom瀏覽器中文名不顯示問題

/**
 *檔案下載firefox瀏覽器中文名不顯示問題 
 */
public class ServletDemo5 extends HttpServlet {
private static final long serialVersionUID = 1L;


protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");

//檔案下載中文檔名不顯示的問題
String path = this.getServletContext().getRealPath("/你好.jpg");//獲取檔案的絕對路徑
String filename = path.substring(path.lastIndexOf("\\")+1); //擷取檔名
String displayName = URLEncoder.encode(filename,"utf-8");//用utf-8的格式編碼
if ("FF".equals(getBrowser(request))) {  
            // 針對火狐瀏覽器處理方式不一樣了  
            displayName = new String(filename.getBytes("UTF-8"),  
                    "iso-8859-1");  
        }  
response.setHeader("content-disposition", "attachment;filename="+displayName);
InputStream in = new FileInputStream(path);
ServletOutputStream os = response.getOutputStream();
byte[] b = new byte[1024];
int len = 0;
while((len = in.read(b))>0){
os.write(b,0,len);
}
}


// 以下為伺服器端判斷客戶端瀏覽器型別的方法  
    private String getBrowser(HttpServletRequest request) {  
        String UserAgent = request.getHeader("USER-AGENT").toLowerCase();  
        if (UserAgent != null) {  
            if (UserAgent.indexOf("msie") >= 0)  
                return "IE";  
            if (UserAgent.indexOf("firefox") >= 0)  
                return "FF";  
            if (UserAgent.indexOf("safari") >= 0)  
                return "SF";  
        }  
        return null;  
    }  


protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}


}

相關推薦

檔案下載firefox瀏覽器chrom瀏覽器中文名顯示問題

/** *檔案下載firefox瀏覽器中文名不顯示問題  */public class ServletDemo5 extends HttpServlet {private static final long serialVersionUID = 1L;protected vo

java 實現檔案下載的時候,避免瀏覽器自動開啟檔案,而是出現另存為對話方塊

Java程式碼 response.addHeader( "Content-Disposition" ,  "attachment; filename="  + response.encodeU

下載chrome瀏覽器火狐瀏覽器各種版本地址,mark~~~

火狐瀏覽器外掛–xpath利器 以前在做web自動化的時候,免不了要找定位啊什麼的。一層層找下來太痛苦了,時間也浪費了一天寫不了啥。特別是在最開始接觸自動化的時候,我們系統坑爹的只支援IE。後來換公司了,在偶然情況下,得知了firefox外掛快速找

javaweb實現檔案下載用ajax請求,瀏覽器無響應的問題

最近做公司專案要實現使用者通過瀏覽器從服務端下載檔案的功能。於是,我寫好了後臺,然後前端用JQuery的ajax()方法傳送請求到後臺,按道理說是沒有問題的,包括相應頭的設定都沒問題,但是點選下載按鈕過後,瀏覽器沒任何反應,也沒有報錯,但是就是沒有按照我想的執行檔案下載的效果

selenium3.4.0-java,啟動谷歌瀏覽器火狐瀏覽器

java 4.0 col files nag bin style implicit timeout 啟動谷歌瀏覽器 @Before public void setUp() throws Exception { System.setProperty(

【解決Chrome瀏覽器IE瀏覽器上傳附件相容的問題 -- Chrome關閉flash後,uploadify外掛可用的解決辦法】

專案中遇到過這種情況: 利用uploadify外掛在IE和chrome瀏覽器中上傳附件正常, 突然有一天chrome禁用了flash外掛,uploadify外掛在chrome中就不能正常使用了,IE上正常。   =========================================

Ajax下拉重新整理在安卓的UC瀏覽器QQ瀏覽器無效

移動端開發,在手機上測試發現用所有手機的自帶瀏覽器沒問題,但是換到UC和QQ瀏覽器上值載入只出現預設的5條資料,上拉重新整理卻沒有資料 發現在瀏覽器上放大網頁資料逐條加載出來,最後判定高度的問題, 所以在後面加上100畫素就ok了 var domH=$(docu

select在ie瀏覽器其他瀏覽器樣式問題

ie中取掉下拉箭頭: 樣式中加入 select::-ms-expand {             display: none;         } 其他瀏覽器取掉下拉箭頭:-webkit-app

web前段設計之痛:手機瀏覽器pc瀏覽器的width:100%的自適應問題

Tips: 除錯 iPad 或 iPhone 可在設定中啟動除錯模式,在 Mac 中的 Safari 瀏覽器 同樣開啟開發者模式後,進行聯機除錯。功能彪悍。 最近在做一個頁面時,發現在 iPad 的 Safari 瀏覽器中背景顯示不全,定位到該 div 後發現所指定 cs

解決struts檔案下載中文名顯示問題

獲得檔名的java原始碼如下: public String getFilename() throws UnsupportedEncodingException { this.filename = new String(filename.getBytes("ISO-

谷歌瀏覽器火狐瀏覽器插件安裝方法,分別以”谷歌訪問助手””網頁截圖”為例

顯示 microsoft 打開 bold image 過程 測試 ott 拓展 本文內容 問題陳述 1. 谷歌瀏覽器安裝插件步驟 1.1 基本準備 1.2 安裝插件步驟圖文展示 1.3 安裝後測試使用效果 2. 火狐瀏覽器安裝插件步驟 2.1 基本準備 2.2 安裝插件步驟

iOS開發網路篇—檔案下載(暫停恢復)

一、Range簡單說明 通過設定請求頭Range可以指定每次從網路下載資料包的大小 Range示例 bytes=0-499 從0到499的頭500個位元組 bytes=500-999 從500到999的第二個500位元組 bytes=500- 從500位元組以後的所有位元組  bytes=-500 最後50

Django網站中檔案下載的實現網頁部分列印的實現。

先說第一個功能檔案下載, Django的HttpResponse直接就能提供下載,所以我們只要開啟一個檔案,讓HttpResponse返回就好了 f=open("test.txt",'r') a=f.read() f.close() response=HttpRespons

JS實現識別電腦瀏覽器手機瀏覽器

http://blog.csdn.net/li_magic/article/details/53215140 <!DOCTYPE html> <html> <head> <meta http-equiv="Conten

js 實現 複製 內容到剪下版 相容瀏覽器手機瀏覽器

開發十年,就只剩下這套架構體系了! >>>   

"0.1"在PL/SQL Developersqlplus中如何顯示為".1"?

微信群有朋友問,PL/SQL Developer顯示0.1的時候自動將0刪除,即".1",因此有什麼方法,可以顯示小數點之前的0? 其實不止PL/SQL Developer,即使sqlplus命令列也有這問題, SQL> create table tbl(a float);

Android materialdesign TextInputLayout替換眼睛圖示解決眼睛圖示顯示的問題

TextInputLayout自帶的那個眼睛點選後是隻能加深背景顏色,老闆看了覺得不滿意就讓我修改 OTZ,但是我又不想放棄TextInputLayout顯示文字的酷炫效果,所以就有了下文。 (1)用自己的眼睛圖示替換系統的 於是我百度了一下如何隱藏Te

百度編輯器UEditor插入表格百度地圖顯示的問題

 一、百度編輯器ueditor(本人下載的JSP版本)插入表格不顯示邊框的解決方法 百度編輯器ueditor插入一個表格後,在編輯過程中有表格,但是儲存後,在前臺網頁中沒有邊框 1. 開啟編輯器根目錄下面的ueditor.all.js檔案,找到: for (var c

java瀏覽器檔案下載圖片顯示(流形式)

瀏覽器檔案下載:如果你想在瀏覽器中實現下載功能--一些原本不預設下載的檔案,如:jpg、xml等。 圖片顯示(流形式):如果你想在瀏覽器中顯示圖片,而圖片不是一個靜態檔案(沒有url地址) 那我們應該怎麼做呢? 分析: 瀏覽器獲得檔案是通過http協議的, 所以

div css FirefoxIE瀏覽器相容問題 用CSS實現cellSpacing屬性效果

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!