Internet Explorer不通过Jquery FileDownload下载具有Unicode名称的文件

时间:2018-05-22 12:35:50

标签: jquery google-chrome internet-explorer unicode encoding

我试图通过在客户端使用jquery中的fileDownload来下载从服务器检索的文件。 MVC控制器返回一个类型为 FileDownloadResult 的简单对象:

public sealed class FileDownloadResult : IHttpActionResult, IDisposable
{
        private readonly MemoryStream _dataStream;
        private readonly string _fileName;

        ... various methods() ...
}

我要下载的文件名为:FRISS_db_DiagramЁФ。 在谷歌浏览器上它工作正常,文件下载时使用正确的文件名,即使它是unicode。 在Internet Explorer上,Content-disposition标题显示为filename:

=?UTF-8 2 B 4 RlJJU1NfZGJfRGlhZ3JhbdCB0KQucG5n?=“

因此,使用此损坏的名称下载文件。如何确保使用正确的编码?

1 个答案:

答案 0 :(得分:0)

在此处找到解决方案(How do I encode a file name for download?

HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename= " + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));