Ziemlich einfache Frage, aber online nirgends zu finden. Ich versuche, ein Programm zu erstellen, das mir je nach Dateityp die Erweiterung gibt.
Nein, image/jpg
ist nicht identisch mit image/jpeg
, nur image/jpeg
wird als der tatsächliche Mime-Typ für JPEG-Dateien erkannt.
Siehe https://tools.ietf.org/html/rfc3745 , https://www.w3.org/Graphics/JPEG/ .
Die Bereitstellung des falschen Content-Type von image/jpg
an IE kann zu Problemen führen, siehe http://www.bennadel.com/blog/2609-internet-Explorer-aborts-images-mit-the-wrong-mime -type.htm .
Für die, die möglicherweise hilfreich sind, verwende ich diese Liste als Referenz, um meinen Inhaltstyp zu definieren, wenn ich Bilder in meiner App bearbeiten muss.
Es besagt, dass die jpg-Erweiterung mit Content-type : image/jpeg
deklariert werden kann.
Es gibt kein image/jpg
-Attribut für den Inhaltstyp.
Wichtig hierbei ist, dass der MIME-Typ nicht mit der Dateierweiterung identisch ist. 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 nichts Sie davon abhält, Ihre eigenen zu erfinden, solange Sie es sind sowohl beim Senden als auch beim Empfangen. Hier kommt Microsoft ins Spiel.
Viel Verwirrung stiftet die Tatsache, dass Betriebssysteme Dateitypen auf eigene Weise anhand des Endes des Dateinamens identifizieren, 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 auf Geräten wie SD-Karten vererbt, auf denen Daten auf dieselbe Weise gespeichert werden.
Ein Nebeneffekt dieser Einschränkung ist, dass einige Dateierweiterungen wie .gif
mit ihrem Mime-Typ image/gif
übereinstimmen, während andere gefährdet sind. Dies schließt image/jpeg
ein, dessen Erweiterung auf .jpg
gekürzt ist. Selbst in modernen Windows-Umgebungen, in denen die Einschränkung aufgehoben ist, hat Microsoft die Vergangenheit nie vergessen, und daher ist die Dateierweiterung immer noch die verkürzte Version.
Vorausgesetzt, dass:
Die kurze Antwort lautet:
image/jpg
nicht, daher lautet die Antwort, dass es nicht dasselbe ist wie image/jpeg
tl; dres kommt darauf an, wen Sie fragen
Insgesamt scheint es keinen Mimetyp image/jpg
zu geben. Dieses spezielle Thema kann jedoch verwirrend sein, da die unterschiedliche Zuordnung der Dateinamenerweiterung zu einem MIME-Typ gehört (z. B. gibt es die Dateinamenerweiterung .jpg
).
Hier sind zum Beispiel 3 "komplette Listen", die um verschiedene Dateinamenerweiterungen des JPEG Image-Formats und die zugehörigen MIME-Typen variieren.
.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
.jpeg
→ (nichts)Diese "vollständigen Listen" haben keinen Mime-Typ image/jpg
. Für den Mime-Typ image/jpeg
haben diese Listen jedoch unterschiedliche Dateinamenerweiterungen (.jpeg
, .jpg
,…). Es gibt auch verschiedene Typen von JPEG-Bildformat (z. B. progressives JPEG-Bildformat), die sich in Dateinamenerweiterung und deklariertem Mimetyp überlappen können oder nicht. Dies trägt zur allgemeinen Verwirrung bei.
Jeder (oder jedes Unternehmen) kann die Dateierweiterung und den MIME-Typ festlegen, was er häufig tut.
Zugehörige Frage " Liste ALLER MimeTypes auf dem Planeten, zugeordnet zu Dateierweiterungen? ".