eu tenho visto application/csv
usado e tambémtext/csv
.
Qual é a diferença? Existe alguma diferença? Importa qual, desde que a solicitação corresponda a algo que está disponível? Eles são intercambiáveis?
eu tenho visto application/csv
usado e tambémtext/csv
.
Qual é a diferença? Existe alguma diferença? Importa qual, desde que a solicitação corresponda a algo que está disponível? Eles são intercambiáveis?
Respostas:
Existe uma RFC que a cobre e diz para usar text/csv
.
Este RFC atualiza o RFC 4180.
Recentemente, descobri um tipo de mim explícito para o aplicativo Excel / vnd.ms-excel. Foi registrado na IANA em 96. Observe as preocupações levantadas sobre estar à mercê do remetente e violar sua máquina .
Tipo de Mídia: application / vnd.ms-excel
Nome do Microsoft Excel (tm)
Parâmetros necessários: Nenhum
Parâmetros opcionais: nome
Considerações sobre codificação: preferida base64
Considerações de segurança: Como na maioria dos tipos de aplicativos, esses dados são destinados à interpretação de um programa que entende os dados no sistema do destinatário. Os destinatários precisam entender que estão à mercê do remetente ao receber esse tipo de dados, pois os dados serão executados em seu sistema e a segurança de suas máquinas poderá ser violada.
OID {org-id arquivos-ms (4) ms-excel (3)}
Planilha de tipo de objeto
Comentários Este tipo de mídia / OID é usado para identificar o Microsoft Excel genericamente (ou seja, independente da versão, subtipo ou formato da plataforma).
Eu não sabia que extensões de fornecedor eram permitidas. Confira esta resposta para saber mais - obrigado starbeamrainbowlabs pela referência.
vnd.ms-excel
. +1, pensei que fosse uma observação interessante;) #
Você deve usar "text / csv" de acordo com a RFC 4180 .
Comportamento estranho com MS Excel
: Se eu exportar para "formato baseado em texto, separado por vírgula ( csv
)", esse é o tipo mime que recebo após o upload no meu servidor da web:
[name] => data.csv
[type] => application/vnd.ms-excel
Portanto, a Microsoft parece estar fazendo suas próprias coisas novamente, independentemente dos padrões existentes: https://en.wikipedia.org/wiki/Comma-separated_values
Meus usuários têm permissão para fazer upload de arquivos CSV text/csv
e application/csv
ainda não apareceram. Estes são os identificados através de finfo () :
text/plain
text/x-csv
E estes são os transmitidos pelo navegador:
text/plain
application/vnd.ms-excel
text/x-csv
Os seguintes tipos não apareceram, mas poderiam:
application/csv
application/x-csv
text/csv
text/comma-separated-values
text/x-comma-separated-values
text/tab-separated-values
Para quem luta com a API do Google mimeType para arquivos * .csv. Eu encontrei a lista de tipos MIME para arquivos da API do Google Docs (veja o resultado cortado)
<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>
Fonte aqui: https://developers.google.com/drive/v3/web/manage-downloads#downloading_google_documents a tabela abaixo: "Os formatos do Google Doc e os tipos MIME de exportação suportados são mapeados entre si da seguinte maneira"
Há também outra 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>
Fonte aqui: https://developers.google.com/drive/v3/web/mime-types
Mas o primeiro foi mais útil para o meu caso de uso ..
Feliz codificação;)