ASP.NET下载文件的中文文件名乱码的解决方法

大家看代码吧

System.IO.FileInfo file  =   new  System.IO.FileInfo(Request.PhysicalApplicationPath  +   " /IncomeUpload/回款.xls " );
Response.Clear();
/* 修改前做法
  Response.AddHeader("Content-Disposition", "attachment;filename=" + file.Name);
*/
// 修改后做法
Response.AddHeader( " Content-Disposition " " attachment;filename= "   +  Server.UrlEncode(file.Name));
// 推荐使用
Response.AddHeader( " Content-Disposition " " attachment;filename= "   +  HttpUtility.UrlEncode(file.Name));

Response.AddHeader(
" Content-Length " , file.Length.ToString());
Response.ContentType 
=   " application/application/octet-stream " ;
Response.WriteFile(file.FullName);
Response.End();
Response.Flush();
Response.Clear();

HttpUtility.UrlEncode(" ... ")

Server.UrlEncode(" ... ")

 

 

你可能感兴趣的:(asp.net)