我使用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 开始显示编码的文件名。
到底有没有万能的解决方案?