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

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

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

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

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

使用如下方法沒有解決

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

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

解決方法

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

如下:

//  一萬行代碼沒有顯示
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下載時中文文件名亂碼

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的話不會顯示下載進度 ??
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(strFilePath, 0, fileSize);
Response.Flush();
Response.Close();
info.Delete();

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

相關(guān)文章

最新評論

连江县| 东乡县| 新兴县| 加查县| 蒲城县| 广州市| 大宁县| 固始县| 辰溪县| 交城县| 土默特左旗| 岳阳市| 固安县| 东港市| 固始县| 灵宝市| 长葛市| 三穗县| 洛南县| 徐州市| 木兰县| 宿迁市| 浦东新区| 嫩江县| 郧西县| 泾阳县| 都兰县| 四子王旗| 常州市| 屏东市| 岱山县| 和田县| 遵化市| 隆回县| 七台河市| 凤翔县| 手游| 扎囊县| 武宁县| 余姚市| 垦利县|