Mime在firefox中下载csv文件时的类型问题,尤其是当尝试在服务器上下载时



我正试图通过向响应添加标头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;

在此之后,我将构建一个字符串生成器,并将数据写入响应。

因此,我的印象是,设置头和mime类型是一个问题。但它们看起来都很好,任何关于plz的工作…………

CSV的内容类型因浏览器而异,IE的内容类型为"application/vnd.ms-excel"

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

相关内容

最新更新