一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

解決下載文件中文名稱亂碼(包括IE,edge,F(xiàn)irefox,chrome)

 極風(fēng)狼 2020-01-09

中文名稱下載文件亂碼,主要要做Firefox,IE和chrome這三個瀏覽器的適配。

IE瀏覽器 一直就是不走尋常路版本眾多,苦逼的就是很多程序員了,經(jīng)常要個版本瀏覽器的適配。
下面是常用瀏覽器的user-agent

IE11

Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

IE6

Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 5.2)

edge

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134

FireFox window

Mozilla/5.0 (Windows NT 6.2; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0

Firefox mac

Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0

Google window

Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36

Google mac

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36

Safari mac

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27

注: 以上User-Agent有些是用魔變插件模擬出來的。

  • IE瀏覽器,它們的User-AGENT可能的關(guān)鍵字有三種可能,MSIE,Trident,Edge。IE瀏覽器,使用utf-8對文件名編碼就可以了, URLEncoder.encode(fileName,“UTF8”);
  • Firefox 可以使用Firefox區(qū)分,new String(fileName.getBytes(“UTF-8”), “ISO-8859-1”);
  • chrome,Safari 可以使用上面兩種編碼方式。
  1. 第一種寫法
    /**
    *對下載文件名稱進(jìn)行編碼
    *@param request
    *@param response
    *@param fileName 文件名稱
    */
    public void setFileDownloadHeader(HttpServletRequest request, HttpServletResponse response, String fileName) {
    		String userAgent = request.getHeader("USER-AGENT");
    		try {
    			String finalFileName = null;
    			if(StringUtils.contains(userAgent, "MSIE")||StringUtils.contains(userAgent, "Trident") || StringUtils.contains(userAgent,"Edge")){//IE 瀏覽器
    				finalFileName = URLEncoder.encode(fileName,"UTF8");
    			}else{//火狐,google等其他瀏覽器
    			   finalFileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
    			}
    			response.setHeader("Content-Disposition", "attachment; filename=\"" + finalFileName + "\"");//\" 解決Firefox下載英文+中文組合的文件名的問題
    		} catch (UnsupportedEncodingException e) {
    		}
    	}
    
    
  2. 第二種寫法
    /**
    *對下載文件名稱進(jìn)行編碼
    *@param request
    *@param response
    *@param fileName 文件名稱
    */
    public void setFileDownloadHeader(HttpServletRequest request, HttpServletResponse response, String fileName) {
    		String userAgent = request.getHeader("USER-AGENT");
    		try {
    			String finalFileName = null;
    			if(StringUtils.contains(userAgent, "Firefox")){//火狐瀏覽器
    			 finalFileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");	
    			}else{//IE,google等其他瀏覽器
    			  finalFileName = URLEncoder.encode(fileName,"UTF8");
    			}
    			response.setHeader("Content-Disposition", "attachment; filename=\"" + finalFileName + "\"");//\" 解決Firefox下載英文+中文組合的文件名的問題
    		} catch (UnsupportedEncodingException e) {
    		}
    	}
    

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久久热这里只有精品视频| 精品人妻一区二区三区免费| 国产高清视频一区不卡| 国产对白老熟女正在播放| 国产精品尹人香蕉综合网| 区一区二区三中文字幕| 国产一级性生活录像片| 欧美整片精品日韩综合| 国产内射在线激情一区| 国产一区欧美一区日韩一区| 狠狠做五月深爱婷婷综合| 国产亚州欧美一区二区| 日本乱论一区二区三区| 日韩成人动作片在线观看| 免费啪视频免费欧美亚洲| 又黄又硬又爽又色的视频| 亚洲欧美日韩在线看片| 国产又猛又黄又粗又爽无遮挡| 欧美日韩在线观看自拍| 亚洲欧洲一区二区中文字幕| 亚洲精品福利视频在线观看| 又黄又硬又爽又色的视频| 亚洲国产黄色精品在线观看 | 成人亚洲国产精品一区不卡 | 日本熟妇熟女久久综合| 中文字幕日韩欧美亚洲午夜 | 91超精品碰国产在线观看| 免费观看日韩一级黄色大片| 欧美精品专区一区二区| 午夜精品一区二区三区国产| 中国少妇精品偷拍视频 | 日韩精品一区二区毛片| 欧美一级日韩中文字幕| 中文字字幕在线中文乱码二区| 青青操视频在线播放免费| 五月综合激情婷婷丁香| 日本午夜免费观看视频| 黄片免费在线观看日韩| 成人午夜视频精品一区| 精品少妇一区二区三区四区| 午夜精品黄片在线播放|