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