服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - 在FireFox/IE下Response中文文件名乱码问题解决方案

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

2019-10-23 13:34asp.net技术网 ASP.NET教程

只是针对没有空格和IE的情况下使用Response.AppendHeader()如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了,接下来将详细介绍下感兴趣的朋友可以了解下,或许对你有所帮助

发现很多园子里的人在处理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); 

延伸 · 阅读

精彩推荐