我试图通过在客户端使用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?=“
因此,使用此损坏的名称下载文件。如何确保使用正确的编码?
答案 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));