CSV için hangi MIME türünü kullanmalıyım?


454

application/csvKullanılmış gördüm ve ayrıca text/csv.

Fark ne? Bir fark var mı? İstek mevcut olan bir şeyle eşleştiği sürece önemli mi? Değiştirilebilir mi?

Yanıtlar:


623

RFC 7111

Onu kapsayan ve kullanmayı söyleyen bir RFC var text/csv.

Bu RFC, RFC 4180'i günceller.


Excel

Son zamanlarda Excel uygulaması / vnd.ms-excel için açık bir mimetype keşfettim. ' I96'da IANA'ya kayıtlı . Gönderenin merhametine ve makinenizin ihlal edilmesine ilişkin endişelere dikkat edin .

Medya Türü: application / vnd.ms-excel

Microsoft Excel (tm) olarak adlandırın

Gerekli parametreler: Yok

İsteğe bağlı parametreler: ad

Kodlama hususları: base64 tercih edilir

Güvenlikle ilgili dikkat edilecek noktalar: Çoğu uygulama türünde olduğu gibi, bu veriler, alıcının sistemindeki verileri anlayan bir program tarafından yorumlanmak üzere tasarlanmıştır. Alıcılar, bu tür verileri alırken gönderenin "merhametinde" olduklarını anlamalıdır, çünkü veriler sistemlerinde yürütülecek ve makinelerinin güvenliği ihlal edilebilir.

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

Nesne türü e-tablosu

Yorumlar Bu Ortam Türü / OID, Microsoft Excel'i genel olarak tanımlamak için kullanılır (örn. Sürümden, alt türden veya platform biçiminden bağımsız olarak).

Satıcı uzantılarına izin verildiğinin farkında değildim. Daha fazla bilgi edinmek için bu cevaba göz atın - referans için teşekkürler starbeamrainbowlabs .


39
CSV bir metin dosyası biçimidir, neden Excel'in bununla bir ilgisi var?
JimmyPena

25
Bir programın bir dosya türünü açmasının, o dosya türünün ilişkili MIME türüyle ilgisi yoktur.
Pablo Pazos

7
@Pablo Bir Windows makinesine Excel yükledim ve Notepad ++ ile bir CSV oluşturmak MIME türünde bir uygulama / vnd.ms-excel atayacaktır. Kendiniz deneyin ve MIME türünüzü mime.ritey.com
pjd

20
Notepad ++ herhangi bir mime türünü "atamaz", kullandığınız hizmet bunu atar.
Pablo Pazos

14
Vay canına, birçok insanın popolarından bahsetti vnd.ms-excel. +1, biri için ilginç bir yan not olduğunu düşündüm;)
Wesley Smith

95

RFC 4180'e göre "text / csv" kullanmalısınız .


1
"Text / csv", ".txt" dosyalarını da kabul ediyor mu? Ben sadece ".csv" dosya türlerini kabul etmek için sunucu tarafında doğrulama uygulamak üzerinde çalışıyorum. Ancak ".txt" dosyaları da kabul edilir. Lütfen onaylayın.
SukanyaPai

1
üzgünüm ama sorunuzu şu ana kadar görmedim. RFC 4180, uzantının .csv olmasını sağlar. Yine de biliyorsunuz, bu katı bir gereklilik değil. RFC 4180'in uygulanmasını bozabilirsiniz, ancak şahsen bunu yapmam, çünkü uygulamanın okunabilirliğini bozuyor.
Smokefoot

48

Garip davranış MS Excel: "Metin tabanlı, virgülle ayrılmış format ( csv)" 'a dışa aktarırsam, bu benim web sunucum yükledikten sonra aldığım mime türü:

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

Bu nedenle Microsoft, mevcut standartlardan bağımsız olarak tekrar kendi işlerini yapıyor gibi görünüyor: https://en.wikipedia.org/wiki/Comma-separated_values


4
Web istemcileri tarafından gönderilen mime tipine gerçekten güvenemezsiniz, bu sadece bir rehberdir.
Chris Seufert

5
Bunun nedeni, dosya uzantısını mime türüyle eşleyen web sunucusunun yapılandırmasından kaynaklanmaktadır. Microsofts IIS, web sunucusuna yüklenmişse Excel yüklemesi tarafından doldurulmuş olan sunucu kayıt defterini kullanmalıdır.
Andrew Russell

5
Şey ... "Mevcut standardın" Ekim 2005'te yazılan RFC 4180'de CSV'yi tanımlamaya karar verdiklerinde zaten kullanımda olanları görmezden gelmeye karar verdikleri göz önüne alındığında, Microsoft'u geleceğe atlamaktan dolayı suçlamak saçma olurdu standartların ne karar verdiğine bakın ve 1985'te excel'i ilk yazdıklarında bunu tekrar kullanın. Hangi excel sürümünü kuruyorsunuz?
Robert McKee

1
Her şeyin üstünde, excel bir CSV dosyasındaki alan değerlerini değiştirir.
Ronnie Overby

35

Kullanıcılarımın CSV dosyalarını yüklemesine izin verildi text/csvve application/csvşu ana kadar görünmedi. Bunlar finfo () ile tanımlananlardır :

text/plain
text/x-csv

Ve bunlar tarayıcı aracılığıyla iletilenler:

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

Aşağıdaki türler görünmedi, ancak görünebilir:

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

1
Tarayıcılar, yükleme sırasında bir dosyanın MIME türü olarak ne gönderileceğini tahmin eder. Hiçbir şey yapmak istemediğiniz elleri reddedebilirsiniz, ancak dosyanın gerçek içeriğini dikkatle kontrol etmek, neyin yüklendiğinden emin olmanın tek yoludur.
Tetsujin no Oni

metin / sekmeyle ayrılmış değerler teknik olarak CSV dosyası değildir; veya virgülle ayrılmış veriler için bile alabileceğinizi mi söylüyorsunuz?
Arthur

@Arthur Ek bir TSV dosya kategorisi kullanmaktan çekinmeyin. Birçok programı hangi sınırlayıcı kullanılırsa kullanılsın ve PHP - en çok kullanılan sunucu tarafı dili olarak - CSV terimini yalnızca işlevlerinde de kullandığından, birçok program .csv uzantılı bir dosya oluşturduğundan diğer terimleri görmezden gelirim. Buna "karakter ayrılmış dosyalar"
deyin

0

* .Csv dosyaları için Google API mimeType ile mücadele eden herkes için. Google api dokümanlar dosyaları için MIME türlerinin listesini buldum (kesilmiş sonuca bakın)

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

Buradan kaynak: https://developers.google.com/drive/v3/web/manage-downloads#downloading_google_documents aşağıdaki tablo: "Google Doküman biçimleri ve desteklenen dışa aktarma MIME türleri aşağıdaki gibi eşleşir"

Başka bir liste daha var

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

Buradan kaynak: https://developers.google.com/drive/v3/web/mime-types

Ama ilki benim kullanım durumum için daha yararlı oldu.

Mutlu kodlama;)


Yığın akışı kuralları, diğer platformlara hiçbir bağlantı içermeyen yanıtları içerecektir.
paul_h

@paul_h İstiyorum, ama lütfen SO bu tabloları SO için makul bir formata nasıl biçimlendireceğini söyle, çünkü SO şu anda tabloları desteklemiyor.
Luckylooke

1
@paul_h Yolu buldum, beğeneceğinizi umuyoruz;)
Luckylooke

Artı oldukça biçimlendirilmiş tablolar nedeniyle :)
Stijn de Witt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.