Ziemlich einfache Frage, kann sie aber nirgendwo online finden. Ich versuche ein Programm zu erstellen, das mir je nach Dateityp die Erweiterung gibt.
Ziemlich einfache Frage, kann sie aber nirgendwo online finden. Ich versuche ein Programm zu erstellen, das mir je nach Dateityp die Erweiterung gibt.
Antworten:
Nein, image/jpg
ist nicht dasselbe wie image/jpeg
, wird nur image/jpeg
als tatsächlicher MIME-Typ für JPEG-Dateien erkannt.
Siehe https://tools.ietf.org/html/rfc3745 , https://www.w3.org/Graphics/JPEG/ .
Das Bereitstellen des falschen Inhaltstyps für image/jpg
den Internet Explorer kann zu Problemen führen (siehe http://www.bennadel.com/blog/2609-internet-explorer-aborts-images-with-the-wrong-mime-type.htm) .
image/jpeg jpeg jpg;image/jpg jpeg jpg;
Für diejenigen, die es helfen könnten, verwende ich diese Liste als Referenz, um meinen Inhaltstyp zu definieren, wenn ich mit Bildern in meiner App arbeiten muss.
Es heißt, dass die JPG-Erweiterung mit deklariert werden kann Content-type : image/jpeg
Es gibt kein image/jpg
Attribut für den Inhaltstyp.
tl; dr die "Standards" sind ein Durcheinander; es kommt darauf an, wen du fragst!
Insgesamt scheint es keinen MIME-Typ zu geben image/jpg
. In der Praxis verarbeitet jedoch fast jede Software Bilddateien mit dem Namen " *.jpg
" einwandfrei.
Dieses spezielle Thema ist verwirrend, da die unterschiedliche Zuordnung der Dateinamenerweiterung zu einem MIME-Typ davon abhängt, welche Organisation die Tabelle der Dateinamenerweiterungen für MIME-Typen erstellt hat. Mit anderen Worten, die Dateinamenerweiterung .jpg
kann viele verschiedene Dinge sein.
Hier sind beispielsweise drei "vollständige Listen" und ein RFC, die sich je nach Dateinamenerweiterungen im JPEG-Bildformat und den zugehörigen MIME-Typen unterscheiden.
.jfif
, .jfif-tbnl
, .jpe
, .jpeg
, .jpg
→image/jpeg
.jfif
, .jpe
, .jpeg
, .jpg
→image/pjpeg
.jpeg
, .jpg
→image/jpeg
.jpeg
, .jpg
→image/x-citrix-jpeg
.pjpeg
→ image/pjpeg
jpg
nicht genanntjpeg
→ siehe RFC 2045 (keine Erwähnung), siehe RFC 2046 → image/jpeg
13JPEG
→ video/JPEG
jpeg2000
→ video/jpeg2000
jpm
→ image/jpm
( JPEG 2000 )jpx
→ image/jpx
( JPEG 2000 )vnd.sealedmedia.softseal.jpg
→ image/vnd.sealedmedia.softseal.jpg
Diese "vollständigen Listen" und RFC haben keinen MIME-Typ image/jpg
! Aber für MIME - Typ image/jpeg
einige Listen Sie haben unterschiedliche Dateinamenerweiterungen ( .jpeg
, .jpg
, ...). Andere Listen erwähnen nicht image/jpeg
.
Es gibt auch verschiedene Arten von JPEG-Bildformaten (z. B. progressives JPEG-Bildformat , JPEG 2000 usw.) und "JPEG-Erweiterungen", die sich in der Dateinamenerweiterung und dem deklarierten MIME-Typ möglicherweise überschneiden oder nicht.
Eine andere verwirrende Sache ist, dass RFC 3745 anscheinend nicht mit IANA-Medientypen übereinstimmt, der RFC 3745 jedoch das Dokument IANA-Medientypen informieren soll . Zum Beispiel in RFC 3745 .jpf
ist die bevorzugte Dateierweiterung für, image/jpx
aber in IANA-Medientypen ist der Name jpf
nicht vorhanden (und das IANA-Dokument verweist auf RFC 3745 !).
Eine weitere verwirrende Sache ist, dass IANA Media Types "Namen" auflistet, jedoch keine "Dateinamenerweiterungen". Dies ist absichtlich, verwirrt jedoch das Bestreben, Dateinamenerweiterungen MIME-Typen zuzuordnen.
Eine weitere verwirrende Sache: es ist „ Mime “ oder „ MIME “ oder „ MIME - Typ “ oder „ MIME - Typ “ oder „ mime / Typ “ oder „ Medientyp “⁉ 😧
Das offizielle scheinbare Dokument von der IANA ist überraschend unzureichend. Es ist kein MIME-Typ für die Dateierweiterung registriert, .jpg
es gibt jedoch die ungerade vnd.sealedmedia.softseal.jpg
. Die Dateierweiterung .JPEG
wird nur als video
Typ bezeichnet, während die Dateierweiterung .jpeg
ein Bildtyp ist (wann spielten Klein- und Großbuchstaben eine Rolle!?). Gleichzeitig jpeg2000
ist Typ video
noch RFC 3745 betrachtet JPEG 2000 als image
Typ! Die IANA-Liste scheint unternehmensspezifische JPEG-Formate (z vnd.sealedmedia.softseal.jpg
. B. ) zu berücksichtigen .
Aufgrund der vorherigen Verwirrungen ist es schwierig, ein branchenweit anerkanntes kanonisches Dokument zu finden, das Dateinamenerweiterungen MIME-Typen zuordnet, insbesondere für das JPEG-Bilddateiformat.
Verwandte Frage " Liste ALLER MimeTypes auf dem Planeten, die Dateierweiterungen zugeordnet sind? ".
Wichtig hierbei ist, dass der MIME-Typ nicht mit der Dateierweiterung übereinstimmt. Manchmal haben sie jedoch den gleichen Wert.
https://www.iana.org/assignments/media-types/media-types.xhtml enthält eine Liste der registrierten Mime-Typen, obwohl Sie nichts daran hindert, Ihre eigenen zu erstellen, solange Sie beide senden und das empfangende Ende. Hier kommt Microsoft ins Spiel.
Wo es viel Verwirrung gibt, ist die Tatsache, dass Betriebssysteme ihre eigene Art haben, Dateitypen zu identifizieren, indem sie das Ende des Dateinamens verwenden, der als Erweiterung bezeichnet wird. In modernen Betriebssystemen ist der gesamte Name eine lange Zeichenfolge, in primitiveren Betriebssystemen wird er jedoch als separates Attribut behandelt.
Das Betriebssystem, das die Verwirrung verursachte, ist MSDOS, das die Erweiterung auf 3 Zeichen beschränkt hatte. Diese Einschränkung wird bis heute bei Geräten wie SD-Karten übernommen, die Daten weiterhin auf dieselbe Weise speichern.
Ein Nebeneffekt dieser Einschränkung besteht darin, dass einige Dateierweiterungen, z. B. .gif
deren MIME-Typ, übereinstimmen image/gif
, während andere gefährdet sind. Dies schließt ein, image/jpeg
dessen Erweiterung auf verkürzt wird .jpg
. Selbst in modernen Windows-Versionen, in denen die Einschränkung aufgehoben wird, lässt Microsoft die Vergangenheit nie los. Daher ist die Dateierweiterung immer noch die verkürzte Version.
Vorausgesetzt, dass:
Die kurze Antwort lautet:
image/jpg
, also lautet die Antwort, dass es nicht dasselbe ist wieimage/jpeg
Während wir gerade dabei sind ...
Ältere Versionen von Internet Explorer haben sich die Freiheit genommen, jpeg
Dateien mit dem Mime-Typ von hochzuladen image/pjpeg
, was natürlich nur mehr Arbeit für alle anderen bedeutet. Sie haben auch png
Dateien als hochgeladen image/x-png
.
Nicht haben, image/jpg
aber Sie können verwenden.jpg
Beispiel
<input type="file" accept=".jpg"/>
Quelle: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers