发现很多园子里的人在处理Response下载文件名是使用这个方法
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileInfo.Name, System.Text.Encoding.UTF8));
但这个只是针对没有空格和IE的情况下使用。
如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了。
复制代码 代码如下:
if (Request.UserAgent.ToLower().IndexOf("msie") > -1)
{
downloadfilename = HttpUtility.UrlPathEncode(downloadfilename);
}
if (Request.UserAgent.ToLower().IndexOf("firefox") > -1)
{
Response.AddHeader("Content-Disposition", "attachment;filename="" + downloadfilename + """);
}
else
{
Response.AddHeader("Content-Disposition", "attachment;filename=" + downloadfilename);
}
【在FireFox/IE下Response中文文件名乱码问题解决方案】相关文章:
★ asp.net 获取指定文件夹下所有子目录及文件(树形)
★ Linq to SQL Delete时遇到问题的解决方法
★ System.Runtime.InteropServices.COMException的解决方法
★ ASP.NET 链接 Access 数据库路径问题最终解决方案
★ asp. net下使用foreach简化文本文件的访问。
★ 用WebClient.UploadData方法上载文件数据的方法
★ 未处理的事件"PageIndexChanging" 之解决方案