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);
复制代码
原文地址:https://www.cnblogs.com/songjuntao/p/15110523.html