上一篇:asp.net开发wap程序必备:识别来访手机品牌型号 >>
ASP.NET实现下载功能的中文文件名乱码处理
早几天在系统中添加文件管理的下载功能, 要求在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中的Global.asax以及Web应用的生命周期
- · ASP.NET 2.0 new features
- · 用反射调用任意.net库中的方法
- · 如何让用户在关闭浏览器后,使ASP.Net程序,在1分钟后,Session失效
- · 如何在asp.net中动态生成验证码
- · Asp.Net 2.0 发布问题
- · 如何解决ASP.net中的刷新按钮问题和URL中的SQL注入问题
- · Asp.net页面之间通过脚本传递数据
- · ASP.net实现验证码技术(网上收集)
- · .net 软件配置多语言环境
- · asp.net实现无刷新DropDownList联动控件
- · ASP.NET简单整理收藏(2)
- · ASP.NET简单整理收藏(1)
- · Table of Contents
- · ASP.NET c# 文件上传
- · ASP.Net中程序构架与程序代码的分离
- · 如何在ASP.NET中用OWC绘制图表(2)
- · 如何在ASP.NET中用OWC绘制图表(1)
- · 使用CustomValidator模仿show出一个confirm()
- · asp.net的用户控件心得
- · ASP.NET程序中用Repeater实现分页
- · ASP.NET中用healthMonitor属性用法
- · 优化ASP.NET应用程序性能研究与探讨
- · 调试ASP.NET应用程序的方法和技巧
- · 利用ASP.NET构建网上考试系统
- · 创建ASP.NET数据存储层(7)
- · 创建ASP.NET数据存储层(6)
- · 创建ASP.NET数据存储层(5)
- · 创建ASP.NET数据存储层(4)
- · 创建ASP.NET数据存储层(3)
- · 创建ASP.NET数据存储层(2)
- · 创建ASP.NET数据存储层(1)
- · ASP.NET+MySQL简明图示入门
- · ASP.NET设计网络硬盘之查看文件夹
- · ASP.NET设计网络硬盘之文件夹实现
- · ASP.NET+Web服务实现软件共享
- · ASP.NET设计网络硬盘之上传文件
- · 在ASP.NET中使用SQL的IN操作
