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(" ... ")

 

 

posted @ 2009-12-28 14:25  吴庆阳  阅读(1915)  评论(0编辑  收藏  举报