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

Я видел application/csv и text/csv.

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

5 ответов


RFC 7111

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

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


в Excel

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

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

имя Microsoft Excel (tm)

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

Дополнительные параметры: name

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

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

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

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

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

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


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


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

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

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


мои пользователи могут загружать 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

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

<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

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

удачи в кодировании ;)