本文主要是介绍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);
这篇关于C#中解决Response.AddHeader(“Content-Disposition“, “attachment; filename=“ + filename)下载文件时文件名乱码的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!