我使用Controller.File(Stream fileStream, String contentType, String fileDownloadName)
方法从服务器下载文件。在我的情况下contentType
是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
. 我确实为参数中的文件指定了一些特殊名称fileDownloadName
。它在 Firefox、Opera、IE9 中运行良好。
但是,IE8 会返回操作的名称,而不是我指定的名称。看起来Download.xlsx
,如果 url 是../Report/Download
.
为什么会这样,我能做些什么呢?
根据.NET 中的 Content-Disposition 标头,我使用的重载应该可以解决问题。但是 IE8 希望对文件下载名称进行编码。而HttpUtility.UrlPathEncode
例如,当使用编码时,Firefox 开始显示编码的文件名。
到底有没有万能的解决方案?