我正在尝试通过将标头 amd mime 类型添加到响应来以 csv 文件的形式下载数据。当我在本地测试它们时,它在所有浏览器中都可以正常工作,但是当我在服务器或远程桌面上测试它们时,它在 Firefox 中不起作用。真正发生的事情是将数据转换为单独的值,但它没有将扩展名作为 csv,如果我手动保存带有 csv 扩展名的文件,它很好,我无法弄清楚为什么它不工作,特别是在服务器上在 Firefox 中,这是我的代码:
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}",
string.IsNullOrEmpty(this.FileName) ? DFLT_CSVFILENAME : this.FileName)
);
HttpContext.Current.Response.ContentType = "text/csv";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
在此之后,我正在构建一个 stringBuilder,其中的数据将其写入响应。
所以,我的印象是设置标题和 mime 类型是一个问题。但是他们看起来都很好,请解决任何工作......