欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中解决Response.AddHeader("Content-Disposition", "attachment; filen

程序员文章站 2022-03-29 12:49:44
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