web-dev-qa-db-fra.com

Quel type de MIME dois-je utiliser pour CSV?

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

Quelle est la différence? Y a-t-il une différence? Est-ce que cela importe tant que la demande correspond à quelque chose qui est disponible? Sont-ils interchangeables?

415
Steve Dunn

RFC 7111

Il y a un RFC qui le recouvre et dit d'utiliser text/csv.

Cette RFC met à jour la RFC 4180.


Exceller

Récemment, j'ai découvert un type MIME explicite pour l'application Excel/vnd.ms-Excel. Il a été enregistré avec IANA en '96. Notez les inquiétudes soulevées par le fait d'être à la merci de l'expéditeur et de la violation de votre machine .

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

Nommez Microsoft Excel (tm)

Paramètres requis: aucun

Paramètres optionnels: nom

Considérations relatives à l'encodage: base64 préféré

Considérations de sécurité: comme avec la plupart des types d'application, 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 "merci" de l'expéditeur lorsqu'ils reçoivent ce type de données, car celles-ci seront exécutées sur leur système et la sécurité de leurs machines peut être violée.

OID {msg-org-id (4) ms-Excel (3)}

Feuille de calcul de type d'objet

Commentaires Ce type de support/OID est utilisé pour identifier Microsoft Excel de façon générique (c'est-à-dire indépendamment de la version, du sous-type ou du format de plate-forme).

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

568
Chris McCauley

Vous devez utiliser "text/csv" selon RFC 418 .

86
Smokefoot

Comportement étrange avec MS Excel: Si j'exporte au format "texte, séparé par des virgules (csv)", il s'agit du type mime que j'obtiens après le téléchargement sur mon serveur Web:

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

Donc, Microsoft semble refaire ses propres affaires, quelles que soient les normes existantes: https://en.wikipedia.org/wiki/Comma-separated_values

43
Robert

Mes utilisateurs sont autorisés à télécharger des fichiers CSV et text/csv et application/csv ne sont pas encore apparus. Ce sont ceux identifiés par finfo () :

text/plain
text/x-csv

Et ce sont ceux transmis via le navigateur:

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

Les types suivants ne sont pas apparus, mais pourraient:

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

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

<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 le tableau sous: "Les formats Google Doc et les types MIME d'exportation pris en charge sont reliés entre eux comme suit "

Il y a aussi 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 a été plus utile pour mon cas d'utilisation ..

Bonne codage;)

1
Luckylooke