如何解决ASP.NET下载时的中文文件名乱码,与TXT文件中存在代码两个问题
存在问题的代码段:
Response.ContentType = ftype;//ftype为文件后缀名,如.jpg,.txt,.zip
Response.AddHeader("Content-Disposition", "attachment;filename=" +fnametype);//fnametype为文件全名,如file1.jpg // 这里导致出现中文名乱码现象
string filename = Server.MapPath("Resource\\" +fnametype);//filename为相对文件路径
Response.TransmitFile(filename);
有效解决这两个问题的方法:
Response.Clear(); //解决TXT文件中存在代码的问题
Response.ContentType = ftype;
Response.AddHeader("Content-Disposition", "attachment;filename=" +Server.UrlEncode(fnametype)); //解决中文文件名乱码的问题
string filename = Server.MapPath("Resource\\" +fnametype);
Response.TransmitFile(filename);
Response.End(); //解决TXT文件中存在代码的问题
参考资料:【谢谢分享者】
解决中文名乱码的方法:
http://blog.csdn.net/ranbolwb/article/details/7269918
ASP.NET下载文件的几种方法:
http://www.cnblogs.com/bluesky5304/archive/2010/02/23/1671925.html