原理:后台对浏览器进行判断,如果是火狐则转换中文的编码格式
if(Request.Browser.Browser.ToString().ToLower()=="firefox")
{
byte[] utf8bytes = System.Text.Encoding.Default.GetBytes(filename);
byte[] utf8bytes2 = System.Text.Encoding.Convert(System.Text.Encoding.Default, System.Text.Encoding.UTF8, utf8bytes);
string srcFileName = System.Text.Encoding.UTF8.GetString(utf8bytes2);
Response.AddHeader("Content-Disposition", "attachment;FileName= " + srcFileName);
}
else
{
Response.AddHeader("Content-Disposition", "attachment;FileName= " + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));
}
Response.AddHeader("Content-Length", mybyte.Length.ToString());
Response.BinaryWrite(mybyte);
Response.End();
string filename=“文件名”;
if(Request.Browser.Browser.ToString().ToLower()=="firefox")
{
byte[] utf8bytes = System.Text.Encoding.Default.GetBytes(filename);
byte[] utf8bytes2 = System.Text.Encoding.Convert(System.Text.Encoding.Default, System.Text.Encoding.UTF8, utf8bytes);
string srcFileName = System.Text.Encoding.UTF8.GetString(utf8bytes2);
Response.AddHeader("Content-Disposition", "attachment;FileName= " + srcFileName);
}
else
{
Response.AddHeader("Content-Disposition", "attachment;FileName= " + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));
}
Response.AddHeader("Content-Length", mybyte.Length.ToString());
Response.BinaryWrite(mybyte);
Response.End();