正确设置Firefox下载文件文件名的方法
Posted 藏刀阁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正确设置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 else 11 fileName = HttpUtility.UrlEncode(fileName, Encoding.UTF8); 12 return File(fullName, document.ContentType, fileName); 13 }
对于火狐的处理(标红的代码),我也是醉了,根本没看懂,但问题解决了!
以上是关于正确设置Firefox下载文件文件名的方法的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中使用 Selenium 下载文件:即使设置了 Firefox 配置文件,下载窗口也会打开
Python WebDriver + Firefox 文件下载
需要在 Chrome、FireFox 中提示 RDP 文件下载
Python 2.7 + Selenium 3.8 + Firefox 57 + MacOS Sierra:设置“browser.helperApps.neverAsk.openFile”后仍然出现下