网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Asp.net1.1升级到2.0遇到的一些问.
..net2.0邮件发送代码.
.用ASP.NET 1.1 新特征防止Script.
.读取MP3文件的ID3v1信息.
.asp.net AJAX中的CascadingDropD.
.通过预处理器指令调整连接的数据.
.asp.net 生成图片验证码.
.asp.net 2.0 缓存(理论篇) .
.如何防止页面中的敏感信息被提取.
.大数量查询分页显示 微软的解决办.
.ASP.NET 2.0–善用DataSourceMod.
.asp.net 2.0小TIPS两则.
.Web.config详解+asp.net优化.
.讲解用.NET编写串口程序的一点心.
.在asp.net 2.0中的web.config文件.
.ASP.NET底层架构探索之进入.NET运.
.自己写的一个asp.net的生成曲线图.
.ASP.NET 2.0高级数据处理之处理N.
.ASP.NET中的HTTP模块和处理程序.
.深入理解 ViewState.

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

发表日期:2006-8-14


早几天在系统中添加文件管理的下载功能, 要求在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 可, 上面下划线标注的那句代码则可以注释掉了, 试一下, 结果一定让你非常满意!

http://www.cnblogs.com/niit007/archive/2006/08/13/475561.html

上一篇:ASP.NET中的Global.asax以及Web应用的生命周期 人气:5447
下一篇:如何用在ASP.NET中写入事件日志 人气:6419
浏览全部ASP.NET的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐