火狐浏览器下载乱码问题
火狐浏览器下载乱码的原因是因为编码不同于别的浏览器。
在网上搜索了很多关于这个问题的解决办法,基本上都是先检测是不是火狐浏览器,如果是火狐浏览器则用火狐浏览器的编码方式将字符进行编码。
但是我很无奈的是他们的代码我都用不了,我根本没有他们贴出来的方法,也不知道他们用的是什么framework是什么版本。
后来我发现,火狐浏览器可能也意识到这个问题,所以他们对这个问题进行了解决,所以火狐浏览器的下载的解决方式就是不用任何编码方式,直接把标题输出即可,代码如下
String agent = Request.Headers.Get("USER-AGENT");//获取发送请求的浏览器
if (agent != null && agent.IndexOf("Firefox") > -1)//判断是不是火狐浏览器
{// FF 火狐浏览器
Response.AddHeader("Content-Disposition", "attachment; filename=" + System.IO.Path.GetFileName(Server.MapPath(path)));
}
else
{//其他浏览器
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(System.IO.Path.GetFileName(Server.MapPath(path)), System.Text.Encoding.UTF8));
}