551 votes

Quel type MIME dois-je utiliser pour les CSV ?

J'ai vu application/csv utilisé et aussi text/csv .

Y a-t-il une différence ? Lequel importe-t-il tant que la demande correspond à quelque chose de disponible ? Sont-ils interchangeables ?

726voto

Chris McCauley Points 9764

RFC 7111

Il existe un RFC qui le couvre et dit d'utiliser text/csv .

Ce RFC met à jour le RFC 4180.

Excel

J'ai récemment découvert un mimetype explicite pour Excel application/vnd.ms-excel. Il était enregistré avec IANA en 1996. Notez les préoccupations soulevées sur le fait d'être à la la pitié de l'expéditeur et la violation de votre machine .

Type de média : application/vnd.ms-excel

Nom Microsoft Excel (tm)

Paramètres requis : Aucun

Paramètres facultatifs : nom

Considérations sur l'encodage : base64 de préférence

Considérations relatives à la sécurité : Comme pour la plupart des types d'applications, ces données sont destinées à être interprétées par un programme qui comprend les données sur le système du destinataire. Les destinataires doivent comprendre qu'ils sont à la à la "merci" de l'expéditeur, lorsqu'ils reçoivent ce type de données, puisque les données seront exécutées sur leur système, et la sécurité de leurs machines peuvent être violées.

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

Type d'objet feuille de calcul

Commentaires Ce type de média/OID est utilisé pour identifier Microsoft Excel de manière générique (c'est-à-dire indépendamment de la version, du sous-type ou du format de la plate-forme).

Je ne savais pas que les extensions de fournisseur étaient autorisées. Consultez cette réponse pour en savoir plus - merci starbeamrainbowlabs pour la référence.

113voto

Smokefoot Points 1495

Vous devez utiliser "text/csv" conformément aux règles suivantes RFC 4180 .

57voto

Robert Points 28

Comportement étrange avec MS Excel : Si j'exporte au format "texte, séparé par des virgules" ( csv )" : c'est le type de message que j'obtiens après le téléchargement sur mon serveur :

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

Il semble donc que Microsoft fasse à nouveau ses propres affaires, sans tenir compte des normes existantes : https://en.wikipedia.org/wiki/Comma-separated_values

52voto

mgutt Points 784

Mes utilisateurs ont le droit de télécharger des fichiers CSV et text/csv et application/csv n'est pas encore apparu. Ce sont ceux qui ont été identifiés par finfo() :

text/plain
text/x-csv

Et ce sont celles qui sont transmises par le navigateur :

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

Les types suivants ne sont pas apparus, mais pourraient l'être :

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

1voto

Luckylooke Points 168

Pour tous ceux qui ont des difficultés avec le mimeType de l'API Google pour les fichiers *.csv. J'ai trouvé la liste des types MIME pour les fichiers docs de l'API Google. (regardez le résultat extrait)

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

Source ici : https://developers.google.com/drive/v3/web/manage-downloads#downloading_google_documents la table sous : "Les formats de Google Doc et les types MIME d'exportation pris en charge correspondent les uns aux autres comme suit".

Il existe également une autre liste

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

Source ici : https://developers.google.com/drive/v3/web/mime-types

Mais le premier était plus utile pour mon cas d'utilisation

Bon codage ;)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X