最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

response文件流輸出文件名中文不顯示的解決

 更新時(shí)間:2022年01月28日 11:35:48   作者:他們叫我老蔣  
這篇文章主要介紹了response文件流輸出文件名中文不顯示的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

文件流輸出文件名中文不顯示

response返回文件流 用response.setHeader(“Content-disposition”, “attachment; filename=”+fileName);結(jié)果中文名稱(chēng)以“—”下滑下顯示。

使用如下方法沒(méi)有解決

response.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html;charset=UTF-8”);
response.setLocale(new java.util.Locale(“zh”,“CN”));

原因是這些操作是針對(duì)返回內(nèi)容進(jìn)行編碼設(shè)置,而我這里文件名稱(chēng)設(shè)置于header;

解決方法

將文件名稱(chēng)轉(zhuǎn)換為ASCII碼~

如下:

//  一萬(wàn)行代碼沒(méi)有顯示
OutputStream output = null;
		try {
			response.reset();
			response.setContentType("application/msexcel;charset=UTF-8");
//			response.setCharacterEncoding("UTF-8");
			fileName = URLEncoder.encode(fileName,"UTF-8");
			output = response.getOutputStream();
			response.setHeader("Content-disposition", "attachment; filename="+fileName);
			wb.write(output);
			if(output != null) output.close();
		} catch (IOException e) {
			// TODO
			e.printStackTrace();
		}

response下載時(shí)中文文件名亂碼

FileInfo info = new FileInfo(strFilePath);
long fileSize = info.Length;
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Accept-Language", "zh-cn");
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpContext.Current.Server.UrlEncode(info.Name));
//不指明Content-Length用Flush的話不會(huì)顯示下載進(jìn)度 ??
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(strFilePath, 0, fileSize);
Response.Flush();
Response.Close();
info.Delete();

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

桃源县| 唐海县| 手机| 达孜县| 墨玉县| 佛山市| 策勒县| 永顺县| 湘阴县| 永城市| 西和县| 叶城县| 香港 | 乌鲁木齐县| 灵山县| 秦皇岛市| 北流市| 湖州市| 巴青县| 达孜县| 云龙县| 平顶山市| 体育| 铁力市| 彰化市| 元阳县| 巫山县| 读书| 年辖:市辖区| 称多县| 江城| 清河县| 贵定县| 南雄市| 富平县| 江川县| 溆浦县| 镇远县| 武城县| 富蕴县| 水城县|