ASP.NET实现下载功能的中文文件名乱码处理

原创 2006年06月21日 09:34:00
早几天在系统中添加文件管理的下载功能, 要求在ASPX文件中实现, 以进行权限的控件,
于是添加下列代码:
...
Response.ContentType = mime; //相应的MIME TYPE
Response.AppendHeader("Content-Disposition", "attachment; filename=/"" +fileName + "/"");

Response.BinaryWrite(bytes);
Response.End();
...
 
当fileName中包含中文时, 文件下载保存时, 文件名变成了乱码, 需要用户修改,这也就违被了我设定预设文件名的初衷.
解决办法1: 对fileName进行URL编码, 把下划线标注的那句改为
Response.AppendHeader("Content-Disposition", "attachment; filename=/"" + Server.UrlEncode(fileName) + "/"");
便可.
虽然中文乱码问题解决了, 但是还有一个问题: 在测试时, 下载保存的文件名有时会变成该页面的名字(.aspx), 虽然可以把内容下载到本地, 但是需要更改文件名及类型, 这样会给用户带来很大的困惑.
还有一个办法, 可以很简单的解决以上的两个问题:
解决办法2: 假设当前的URL为 http://localhost/download.aspx?id=123, fileName为"下载.pdf", 我们只要把下载URL改为 http://localhost/download.aspx/下载.pdf?id=123 可, 上面下划线标注的那句代码则可以注释掉了, 试一下, 结果一定让你非常满意!

解决用ASP.NET下载文件时,文件名为乱码的问题

关键就一句:                    string strTemp = System.Web.HttpUtility.UrlEncode(strName, System.Text.Enc...
  • hurtmanzc
  • hurtmanzc
  • 2006年06月09日 13:53
  • 7255

ASP.NET实现下载的中文文件名乱码处理

早几天在系统中添加文件管理的下载功能, 要求在ASPX文件中实现, 以进行权限的控件,于是添加下列代码:  ...  Response.ContentType = mime; //相应的MIME TY...
  • donetk
  • donetk
  • 2008年05月03日 17:42
  • 359

asp.net下载 中文文件名乱码处理

Response.Clear();             Response.Buffer = false;             Response.ContentType = "applica...
  • allenlf
  • allenlf
  • 2011年10月31日 11:56
  • 157

ASP.NET实现下载功能的中文文件名乱码处理

在系统中添加文件管理的下载功能, 要求在ASPX文件中实现, 以进行权限的控件,于是添加下列代码:...Response.ContentType = mime; //相应的MIME TYPERespo...
  • xiaoxiaohai123
  • xiaoxiaohai123
  • 2007年06月14日 10:43
  • 361

ASP.NET实现下载功能的中文文件名乱码处理

ASP.NET实现下载功能的中文文件名乱码处理document.title="ASP.NET实现下载功能的中文文件名乱码处理 - "+document.title ...
  • lovelyxc
  • lovelyxc
  • 2005年09月09日 16:42
  • 1059

servlet 下载文件名字 中文乱码 解决

response.setHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("GBK...
  • dream_ll
  • dream_ll
  • 2017年06月14日 15:44
  • 390

ASP.NET实现下载时的中文文件名乱码处理

在实现下载功能时,不论是文件直接存在数据库里的还是存储在服务器上的文件夹中,下载时,如果文件名是中文的,就会出现乱码的问题。在添加下载文件头时就可以通过“HttpUtility.UrlEncode”或...
  • qlk_2007
  • qlk_2007
  • 2008年09月08日 09:32
  • 240

SpringMVC文件下载中文乱码

java文件@RequestMapping("/download") public ResponseEntity dowload() throws IOException{ String pa...
  • xuebing1995
  • xuebing1995
  • 2017年08月04日 15:19
  • 1556

在ASP.NET MVC中,IE与Firefox下载文件带汉字名时乱码的解决方法

最近在做一个BS项目,ASP.NET MVC中产生一个Excel报表,供浏览器下载。显然,下载时经常有汉字报表名称。针对当前的两个主流的浏览器IE和Firefox,似乎没有兼容的解决办法。网上搜索了一...
  • zhu7478848
  • zhu7478848
  • 2017年09月12日 15:57
  • 387

Java Web开发下载文件,文件名中文乱码解决方案

​Web开发下载文件功能(代码如下),文件名如果带有中文,经常会出现乱码现象,需要进行编码。 String fileName = "测试文件.doc"; try { HttpServ...
  • u010475284
  • u010475284
  • 2014年03月14日 11:37
  • 2164
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET实现下载功能的中文文件名乱码处理
举报原因:
原因补充:

(最多只允许输入30个字)