CSV应该使用什么MIME类型?

CSV应该使用什么MIME类型?,csv,http-headers,mime-types,content-type,Csv,Http Headers,Mime Types,Content Type,我看到使用了application/csv,也看到了text/csv 有区别吗?只要请求与可用的内容匹配,哪一个就重要吗?它们可以互换吗?RFC 7111 有一个文件覆盖了它,并说要使用text/csv 此RFC更新RFC 4180 擅长 最近,我发现了Excel应用程序/vnd.ms-Excel的显式mimetype。它是在96年注册的。请注意所提出的关于任由发送者摆布并使您的机器受到侵犯的问题 媒体类型:application/vnd.ms-excel 名称Microsoft Excel(

我看到使用了
application/csv
,也看到了
text/csv

有区别吗?只要请求与可用的内容匹配,哪一个就重要吗?它们可以互换吗?

RFC 7111 有一个文件覆盖了它,并说要使用
text/csv

此RFC更新RFC 4180


擅长 最近,我发现了Excel应用程序/vnd.ms-Excel的显式mimetype。它是在96年注册的。请注意所提出的关于任由发送者摆布并使您的机器受到侵犯的问题

媒体类型:application/vnd.ms-excel 名称Microsoft Excel(tm)

所需参数:无

可选参数:名称

编码注意事项:首选base64

安全注意事项:与大多数应用程序类型一样,此数据是 用于由理解数据的程序进行解释 收件人的系统。接受者需要明白,他们在 发送方在接收此类数据时的“仁慈”,因为 数据将在他们的系统上执行,并且 机器可能被侵犯

OID{org id ms文件(4)ms excel(3)}

对象类型电子表格

注释此媒体类型/OID用于标识Microsoft Excel通用(即独立于版本、子类型或平台格式)


我不知道允许供应商扩展。查看以了解更多信息-感谢您的参考。

您应该使用“text/csv”,根据。

MS Excel的奇怪行为: 如果我导出为“基于文本的逗号分隔格式(
csv
)”,这就是我上传到Web服务器后得到的mime类型:

[name] => data.csv
[type] => application/vnd.ms-excel

因此,不管现有标准如何,微软似乎又在做自己的事情了:

我的用户可以上传CSV文件,
text/CSV
application/CSV
现在还没有出现。这些是通过以下方式确定的:

这些是通过浏览器传输的信息:

text/plain
application/vnd.ms-excel
text/x-csv
以下类型未出现,但可能:

application/csv
application/x-csv
text/csv
text/comma-separated-values
text/x-comma-separated-values
text/tab-separated-values

适用于那些为*.csv文件使用谷歌API mimeType的用户。 我找到了google api文档文件的MIME类型列表 (看剪下的结果)
Google文档格式转换格式对应的MIME类型文档shtmlText/htmlHTML(压缩)application/zipPlain texttext/plainRich textapplication/rtfOpen Office docapplication/vnd.oasis.opendocument.textpdfa application/pdfMS Word document application/vnd.openxmlformats officedocument.wordprocessingml.documentEPUBapplication/epub+zipSpreadsheetsMS excel application/vnd.openxmlformats-Office.spreadsheetml.sheetOpen Officesheetapplication/x-vnd.oasis.opendocument.SpreadsheetPDFAApplication/pdfCSV(仅第一页)text/csvTSV(仅第一页)text/tab分隔值shtml(压缩)application/zipDrawingsJPEGimage/jpegPNGimage/pngSVGimage/svg+xmlpdfafapplication/pdfPresentationsMS PowerPointapplication/vnd.openxmlformats-officedocument.presentationml.presentationopenoffice presentationapplication/vnd.oasis.opendocument.presentationpdfaapplication/pdfPlain text/plainAppsScriptsJSONapplication/vnd.google apps.script+json
CSV是一种文本文件格式,为什么Excel与之有任何关系,或者我遗漏了什么?程序打开的文件类型与该文件类型的相关MIME类型没有任何关系。@Pablo我在Windows计算机上安装了Excel,在Notepad++中创建CSV将分配MIME类型的application/vnd.ms-excel。你自己试试看,在记事本上检查你的MIME类型++没有“分配”任何MIME类型,你使用的服务是分配它。这不是关于屁股受伤,但大约80%的答案是,事实上,离题。你不能真正信任web客户端发送的MIME类型,这只是一个一般的指南。这是由于web服务器的配置将文件扩展名映射到mime类型。Microsofts IIS应为此使用服务器注册表,如果Excel安装在web服务器上,则该注册表将由Excel安装填充。考虑到“现有标准”决定在2005年10月编写的RFC 4180中定义CSV时忽略了已在使用的内容,如果指责微软没有跳进未来去看看标准机构的决定,然后在1985年他们第一次编写excel时使用它,那将是愚蠢的。您正在安装哪个版本的excel?最重要的是,excel会破坏CSV文件中的字段值。这可能取决于“上传后”的实际含义。浏览器猜测在上传过程中以文件的MIME类型发送什么。您可以立即拒绝您不想处理的内容,但仔细检查文件的实际内容是确保上传内容的唯一方法。text/tab-separated-values从技术上讲不是CSV文件;或者你的意思是,即使是逗号分隔的数据,你也可以得到它?@Arthur可以随意使用其他TSV文件类别。我忽略了其他术语,因为无论使用哪个分隔符,许多程序都会创建扩展名为.csv的文件,而PHP——作为最常用的服务器端语言——也只在其函数中使用术语csv。称之为“字符分隔文件”,你就没事了;)Stackoverflow规则将包含答案内联,不包含与其他平台的链接。@paul_h我想这样做,但请告诉我如何将这些表格格式化为SO的合理格式,因为SO目前不支持表格。@paul_h我找到了方法,希望您喜欢;)另外一个原因是表格格式很好:)text/csv也接受“.txt”文件吗?我正在服务器端应用验证,只接受“.csv”文件类型。但是“.txt”文件也被接受。请确认。对不起,到目前为止还没有看到您的问题。RFC 4180确保扩展应该是
application/csv
application/x-csv
text/csv
text/comma-separated-values
text/x-comma-separated-values
text/tab-separated-values