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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM