1

我正在尝试通过将标头 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 类型是一个问题。但是他们看起来都很好,请解决任何工作......

4

2 回答 2

0

CSV 的内容类型对于不同的浏览器是不同的,对于 IE 它是“application/vnd.ms-excel”

于 2013-11-16T16:56:44.463 回答
0

这里的问题是,我传递的文件名在单词之间有一些空格。Fire Fox 不会像其他浏览器那样接受带有空格的文件名。所以我只是删除了文件名中的空格然后它就起作用了。

于 2013-11-29T06:05:47.063 回答