首页 > 代码库 > 正确设置Firefox下载文件文件名的方法
正确设置Firefox下载文件文件名的方法
不同的浏览器需要特殊设置,主要是火狐比较特殊,火狐可能给文件名加上“%0d%0a"这样的编码字符(换行的意思)。不得不佩服网上的高手,这也能解决。
1 [HttpGet] 2 public FileResult Download(string id) 3 { 4 var document = service.GetDocument(id); 5 var fullName = Path.Combine(Root, document.FullName); 6 string browser = HttpContext.Request.UserAgent.ToUpper(); 7 var fileName = document.Name; 8 if (browser.Contains("FIREFOX")) 9 fileName = "=?UTF-8?B?" + Convert.ToBase64String(Encoding.UTF8.GetBytes(fileName)) + "?=";10 else11 fileName = HttpUtility.UrlEncode(fileName, Encoding.UTF8);12 return File(fullName, document.ContentType, fileName);13 }
对于火狐的处理(标红的代码),我也是醉了,根本没看懂,但问题解决了!
【参考文献】http://www.cnblogs.com/godtrue/p/4333262.html
正确设置Firefox下载文件文件名的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。