如何使用 CSV MIME 类型?

2022-08-30 07:06:53

在我正在处理的Web应用程序中,用户可以单击指向CSV文件的链接。没有为 mime 类型设置标头,因此浏览器仅将其呈现为文本。我希望将此文件作为.csv文件发送,因此用户可以直接使用calc,excel,gnumeric等打开它。

header('Content-Type: text/csv');
echo "cell 1, cell 2";

此代码在我的计算机上按预期工作(不是一直如此吗?),但在另一台计算机上不起作用。

我的浏览器是FF 3.0.1(在linux上)的夜间构建。它不起作用的浏览器是IE 7和FF 3.0(在Windows上)

有什么我不知道的怪癖吗?


答案 1

您可以尝试通过执行以下操作来强制浏览器打开“另存为...”对话框:

header('Content-type: text/csv');
header('Content-disposition: attachment;filename=MyVerySpecial.csv');
echo "cell 1, cell 2";

这应该适用于大多数主流浏览器。


答案 2

您没有指定语言或框架,但以下标头用于文件下载:

"Content-Disposition: attachment; filename=abc.csv"

推荐