C#中解决Response.AddHeader("Content-Disposition", "attachment; filen
程序员文章站
2022-08-12 18:01:09
C#中解决Response.AddHeader("Content-Disposition", "attachment; filename=" + filename)下载文件时文件名乱码的问题 ......
问题:下载文件时文件名乱码怎么解决?
在C#写后台代码过程中,经常遇到下载文件出现文件名乱码的问题,在网上找了很多方法,总是存在浏览器不兼容的问题,当IE浏览器不乱码时,火狐浏览器就会乱码,后来经过反复研究,发现一个问题,那就是我们主流的浏览器中火狐浏览器与其他浏览器(IE、Chrom等等)还真是不一样,所以,在下载写入头部分是先做一个判断,判断是否为火狐浏览器,后来发现完全没问题!
var filename = year + "xxxx.xls"; //判断是否为火狐浏览器 var Agent = Request.Browser.Browser; if (Agent != "Firefox") { filename = HttpUtility.UrlEncode(Encoding.UTF8.GetBytes(filename)); } Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
欢迎访问:GIS思考者:www.gisthinker.com