Какой тип MIME следует использовать для CSV?

Я видел application/csv, а также text/csv.

Какая разница? Есть ли разница? Имеет ли значение, если запрос соответствует тому, что доступно? Являются ли они взаимозаменяемыми?

Ответ 1

RFC 7111

Есть RFC, который покрывает это и говорит использовать text/csv.

Этот RFC обновляет RFC 4180.


превосходить

Недавно я обнаружил явный mimetype для приложения Excel/vnd.ms-excel. Он был зарегистрирован в IANA в 96 году. Обратите внимание на обеспокоенность, возникшую по поводу того, чтобы быть во власти отправителя и нарушения вашей машины.

Тип носителя: application/vnd.ms-excel

Имя Microsoft Excel (тм)

Обязательные параметры: нет

Необязательные параметры: имя

Вопросы кодирования: предпочтительно base64

Соображения безопасности: Как и в большинстве типов приложений, эти данные предназначены для интерпретации программой, которая понимает данные в системе-получателе. Получатели должны понимать, что они получают милость отправителя при получении данных этого типа, поскольку данные будут выполняться в их системе, и безопасность их компьютеров может быть нарушена.

OID {org-id ms-files (4) ms-excel (3)}

Таблица типов объектов

Комментарии Этот тип носителя /OID используется для общей идентификации Microsoft Excel (т.е. Независимо от версии, подтипа или формата платформы).

Я не знал, что расширения поставщика были разрешены. Проверьте этот ответ, чтобы узнать больше - спасибо starbeamrainbowlabs за ссылку.

Ответ 2

Вы должны использовать "text/csv" в соответствии с RFC 4180.

Ответ 3

Странное поведение в MS Excel: если я экспортирую в "текстовый формат, разделенный запятыми (csv)", то это mime-тип, который я получаю после загрузки на свой веб-сервер:

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

Таким образом, Microsoft, похоже, снова занимается своими делами, независимо от существующих стандартов: https://en.wikipedia.org/wiki/Comma-separated_values

Ответ 4

Моим пользователям разрешено загружать CSV файлы, а text/csv и application/csv пока не отображаются. Это те, которые определены через finfo():

text/plain
text/x-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

Ответ 5

Для тех, кто борется с Google API mimeType для *.csv файлов. Я нашел список типов MIME для файлов Google Api Docs (посмотрите на результат)

<table border="1"><thead><tr><th>Google Doc Format</th><th>Conversion Format</th><th>Corresponding MIME type</th></tr></thead><tbody><tr><td>Documents</td><td>HTML</td><td>text/html</td></tr><tr></tr><tr><td></td><td>HTML (zipped)</td><td>application/zip</td></tr><tr><td></td><td>Plain text</td><td>text/plain</td></tr><tr><td></td><td>Rich text</td><td>application/rtf</td></tr><tr><td></td><td>Open Office doc</td><td>application/vnd.oasis.opendocument.text</td></tr><tr><td></td><td>PDF</td><td>application/pdf</td></tr><tr><td></td><td>MS Word document</td><td>application/vnd.openxmlformats-officedocument.wordprocessingml.document</td></tr><tr><td></td><td>EPUB</td><td>application/epub+zip</td></tr><tr><td>Spreadsheets</td><td>MS Excel</td><td>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</td></tr><tr><td></td><td>Open Office sheet</td><td>application/x-vnd.oasis.opendocument.spreadsheet</td></tr><tr><td></td><td>PDF</td><td>application/pdf</td></tr><tr><td></td><td>CSV (first sheet only)</td><td>text/csv</td></tr><tr><td></td><td>TSV (first sheet only)</td><td>text/tab-separated-values</td></tr><tr><td></td><td>HTML (zipped)</td><td>application/zip</td></tr><tr></tr><tr><td>Drawings</td><td>JPEG</td><td>image/jpeg</td></tr><tr><td></td><td>PNG</td><td>image/png</td></tr><tr><td></td><td>SVG</td><td>image/svg+xml</td></tr><tr><td></td><td>PDF</td><td>application/pdf</td></tr><tr><td>Presentations</td><td>MS PowerPoint</td><td>application/vnd.openxmlformats-officedocument.presentationml.presentation</td></tr><tr><td></td><td>Open Office presentation</td><td>application/vnd.oasis.opendocument.presentation</td></tr><tr></tr><tr><td></td><td>PDF</td><td>application/pdf</td></tr><tr><td></td><td>Plain text</td><td>text/plain</td></tr><tr><td>Apps Scripts</td><td>JSON</td><td>application/vnd.google-apps.script+json</td></tr></tbody></table>