¿Qué tipo de MIME debo usar para CSV?


He visto application/csv usado y también text/csv.

¿Cuál es la diferencia? ¿Hay alguna diferencia? ¿Importa cuál siempre y cuando la solicitud coincida con algo que esté disponible? Son intercambiables?

Author: JimmyPena, 2011-08-16

5 answers

RFC 7111

Hay un RFC que lo cubre y dice usar text/csv.

Este RFC actualiza el RFC 4180.


Excel

Recientemente descubrí un tipo mime explícito para Excel application/vnd.ms-excel. Fue registrado con Iana en el '96. Tenga en cuenta las preocupaciones planteadas acerca de estar a merced del remitente y de que su máquina viole.

Tipo de medio: application / vnd. ms-excel

Nombre Microsoft Excel (tm)

Parámetros requeridos: Ninguno

Parámetros opcionales: nombre

Consideraciones de codificación: base64 preferido

Consideraciones de seguridad: Como con la mayoría de los tipos de aplicaciones, estos datos son destinado a la interpretación por un programa que entiende los datos en el sistema del receptor. Los destinatarios deben entender que están en la "misericordia" del remitente, al recibir este tipo de datos, ya que datos se ejecutará en su sistema, y la seguridad de su las máquinas pueden ser violadas.

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

Tipo de objeto hoja de cálculo

Comentarios Este Tipo de medio / OID se utiliza para identificar Microsoft Excel genéricamente (es decir, independiente de la versión, subtipo o formato de plataforma).

No sabía que las extensiones de proveedor estaban permitidas. Echa un vistazo a esta respuesta para obtener más información-gracias starbeamrainbowlabs para la referencia.

 444
Author: Chris McCauley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-27 15:29:12

Debe usar "text/csv" de acuerdo con RFC 4180.

 65
Author: Smokefoot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-27 13:31:25

Comportamiento extraño con MS Excel: Si exporto a "formato basado en texto, separado por comas (csv)" este es el tipo mime que obtengo después de cargar en mi servidor web:

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

Así que Microsoft parece estar haciendo cosas propias de nuevo, independientemente de los estándares existentes: https://en.wikipedia.org/wiki/Comma-separated_values

 39
Author: Robert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-25 17:44:36

Mis usuarios pueden cargar archivos CSV y text/csv y application/csv no aparecieron por ahora. Estos son los identificados a través de finfo():

text/plain
text/x-csv

Y estos son los que se transmiten a través del navegador:

text/plain
application/vnd.ms-excel
text/x-csv

Los siguientes tipos no aparecieron, pero pudieron:

application/csv
application/x-csv
text/csv
text/comma-separated-values
text/x-comma-separated-values
text/tab-separated-values
 19
Author: mgutt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:31:33

Para cualquiera que tenga problemas con el tipo Mime de la API de Google para *.archivos CSV. He encontrado la lista de tipos MIME para los archivos docs de la api de Google (mira el resultado recortado)

<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>

Fuente aquí: https://developers.google.com/drive/v3/web/manage-downloads#downloading_google_documents la tabla bajo: "Los formatos de Google Doc y los tipos MIME de exportación compatibles se asignan entre sí de la siguiente manera"

También Hay otra lista

<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>

Fuente aqui: https://developers.google.com/drive/v3/web/mime-types

Pero el primero fue más útil para mi caso de uso..

Feliz codificación;)

 1
Author: Luckylooke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-09 14:13:09