码迷,mamicode.com
首页 > 其他好文 > 详细

在FireFox/IE下Response中文文件名乱码问题解决方案

时间:2015-05-05 10:26:41      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:

在FireFox/IE下Response中文文件名乱码问题解决方案

作者: 字体:[增加 减小] 类型:转载

 
只是针对没有空格和IE的情况下使用Response.AppendHeader()如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了,接下来将详细介绍下感兴趣的朋友可以了解下,或许对你有所帮助
发现很多园子里的人在处理Response下载文件名是使用这个方法
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileInfo.Name, System.Text.Encoding.UTF8));
但这个只是针对没有空格和IE的情况下使用。
如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了。
复制代码 代码如下:

if (HttpContext.Current.Request..UserAgent.ToLower().IndexOf("msie") > -1)
{
downloadfilename = HttpUtility.UrlPathEncode(downloadfilename);
}
if (HttpContext.Current.Request..UserAgent.ToLower().IndexOf("firefox") > -1)
{
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + downloadfilename + "\"");
}
else
{
Response.AddHeader("Content-Disposition", "attachment;filename=" + downloadfilename);
 
 
 

使服务器能够收集有关在客户端运行的浏览器功能的信息。下面代码为常用代码,其他具体信息参见MSDN。

HttpBrowserCapabilities b = Request.Browser; 
Response.Write("浏览器名称和版本号:" + b.Type + "<br>"); 
Response.Write("名称:" + b.Browser + "<br>"); 
Response.Write("版本:" + b.Version + "<br>"); 
Response.Write("操作平台:" + b.Platform + "<br>"); 
Response.Write("是否支持框架:" + b.Frames + "<br>"); 
Response.Write("是否支持表格:" + b.Tables + "<br>"); 
Response.Write("是否支持cookies:" + b.Cookies + "<br>");

 

浏览器名称和版本号:IE6 
名称:IE 
版本:6.0 
操作平台:WinXP 
是否支持框架:True 
是否支持表格:True 
是否支持cookies:True

在FireFox/IE下Response中文文件名乱码问题解决方案

标签:

原文地址:http://www.cnblogs.com/zt11402/p/4478271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!