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