我写的asp.net下的一个下载程序,提供下载的文件有很多是中文名称,在论坛里也看了很多帖子,慢慢地也完成了,就是用windows自带的下载程序下载完全没有问题,但是只要用下载工具比如flashget、IDM等可以下载但文件名为乱码。我的代码如下:
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename="+filename);
后一句的filename已经对传过来的中文参数进行了编码:
filename=HttpUtility.UrlEncode(filename,Encoding.UTF8);
高人请帮忙!分数不够另开贴给!
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename="+filename);
后一句的filename已经对传过来的中文参数进行了编码:
filename=HttpUtility.UrlEncode(filename,Encoding.UTF8);
高人请帮忙!分数不够另开贴给!
解决方案 »
- 多张EXECL表导入SQL数据库
- 问 快速回答
- 遇到asp.net疑难问题,创建http站点一直出错!!!
- [求助]在第二个页面删除了记录,刷新了本页面后会跳到第一页面.请问怎么办
- URL重写后现在的后缀为.aspx 我想吧后缀该为.htm ||.html 神秘一些 顺便那位朋友提供一下目录级的URL重写正规表达式
- Asp.Net系统刷新页面频繁出错,寻求帮助。
- Web.Config Configuration File
- WebService的作用在哪儿
- Gridview的text获取
- 一个十分的简单问题,请大家看看。
- ■ASPNET中很快获得服务器局域网内的所有计算机的名字?■
- 最后十分,请教一个html的问题,请各位来看看,多谢
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
默认的编码方式是utf-8吧,我不是很熟悉,望指教
Response.AddHeader("Content-Disposition", "attachment; filename="+filename);加一句
string strFilename=HttpUtility.UrlEncode(filename);
Response.Redirect(strFilename);
既然这样是“falshget获得文件名的方法就是取Content-Disposition里的filename属性”,那为什么用windows自带的下载程序就一切正常,用flashGet就乱码?
string strFilename=HttpUtility.UrlEncode(filename);
Response.Redirect(strFilename);
写错了
string strFilename=HttpUtility.UrlEncode(filename);
Response.Redirect("http://yourdomain/"+strFilename));
怕别人下载还可以进行路径过滤