Какой тип MIME я должен использовать для CSV? - PullRequest
400 голосов
/ 16 августа 2011

Я видел application/csv используется, а также text/csv.

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

Ответы [ 5 ]

549 голосов
/ 16 августа 2011

RFC 7111

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

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


Excel

Недавно я обнаружил явный 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 за ссылку.

80 голосов
/ 16 августа 2011

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

42 голосов
/ 30 января 2015

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

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

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

26 голосов
/ 09 февраля 2017

Моим пользователям разрешено загружать файлы 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
0 голосов
/ 29 марта 2018

Для тех, кто борется с 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>

Источник здесь: https://developers.google.com/drive/v3/web/manage-downloads#downloading_google_documents таблица в разделе: «Форматы Google Doc и поддерживаемые типы экспорта MIME сопоставляются друг с другом следующим образом»

Есть и другой список

<table border="1"><thead><tr><th>MIME Type</th><th>Description</th></tr></thead><tbody><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>audio</span></code></td><td></td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>document</span></code></td><td>Google Docs</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>drawing</span></code></td><td>Google Drawing</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>file</span></code></td><td>Google Drive file</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>folder</span></code></td><td>Google Drive folder</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>form</span></code></td><td>Google Forms</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>fusiontable</span></code></td><td>Google Fusion Tables</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>map</span></code></td><td>Google My Maps</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>photo</span></code></td><td></td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>presentation</span></code></td><td>Google Slides</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>script</span></code></td><td>Google Apps Scripts</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>site</span></code></td><td>Google Sites</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>spreadsheet</span></code></td><td>Google Sheets</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>unknown</span></code></td><td></td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>video</span></code></td><td></td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>drive-sdk</span></code></td><td>3rd party shortcut</td></tr></tbody></table>

Источник здесь: https://developers.google.com/drive/v3/web/mime-types

Но первый был более полезным для моего варианта использования ..

Удачного кодирования;)

...