解决C# ASP .NET下载出现中文文件名乱码的问题
来源:互联网 发布:js数组对象常用方法 编辑:程序博客网 时间:2024/05/17 15:38
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 可, 上面下划线标注的那句代码则可以注释掉了。
来自:http://mfhmtv.blog.163.com/blog/static/219217742010282131534/
- 解决C# ASP .NET下载出现中文文件名乱码的问题
- 解决C#ASP.NET下载出现中文文件名乱码的问题
- asp.net 下载文件 防止中文文件名出现乱码
- Asp.net 文件下载,中文文件名出现乱码
- asp.net文件下载中文文件名乱码解决
- 如何解决ASP.NET下载时的中文文件名乱码,与TXT文件中存在代码两个问题
- 解决ASP.NET带中文参数出现乱码的问题
- c# web 下载文件(解决中文文件名乱码问题)
- asp.net文件下载,中文文件名乱码
- asp.net下载 中文文件名乱码处理
- ASP.NET实现下载功能的中文文件名乱码处理
- ASP.NET实现下载功能的中文文件名乱码处理
- ASP.NET实现下载功能的中文文件名乱码处理
- ASP.NET实现下载功能的中文文件名乱码处理
- ASP.NET实现下载功能的中文文件名乱码处理
- ASP.NET实现下载功能的中文文件名乱码处理
- ASP.NET实现下载的中文文件名乱码处理
- ASP.NET实现下载功能的中文文件名乱码处理
- java基本数据类型
- use epoll in server
- 大家好,,
- 如何备份系统
- java中 int 和 char 的相互转换
- 解决C# ASP .NET下载出现中文文件名乱码的问题
- [zz] 面向對象思想--百度百科
- WIN2008
- hello,msdn
- 11.01.02 ~ 11.01.08
- 11.01.09 ~ 11.01.15
- 11.01.16 ~ 11.01.21
- XML-Entity References
- XML-txtHint-XMLHttpRequest Example