Ich weiß, dass ich die hier aufgeführten MIME-Typen oder einen generischen MIME-Typ für eine beliebige Datei verwenden application/octet-stream
kann. Gibt es jedoch einen generischen MIME-Typ für alle Bilddateien?
(Ich möchte eine .desktop
Datei in Linux Mint KDE bearbeiten , um im Dolphin File Manager einen Kontextmenüeintrag "Aktion" zu erstellen, der nur für Bilddateien angezeigt wird.)
mime-types
image-processing
Hervorragend
quelle
quelle
image/*
funktionieren (wie Browser)?image/*
funktioniert für den in meiner Frage angegebenen Zweck auch fürsvg
Dateien - also als Desktop-Eintrag wieMimeType=image/*
. Bitte beantworten Sie diese spezifischere Frage, auf die Sie eine Antwort geben.Antworten:
Gibt es einen generischen MIME-Typ für alle Bilddateien?
Normalerweise gibt es keine, aber es gibt ein paar Ausnahmen, die später in dieser Antwort dokumentiert werden.
Sie benötigen einen Mime-Typ, um eine Datei verarbeiten zu können (ohne den Datei-Header lesen zu müssen).
Anmerkungen:
Nicht alle Bilddateien haben einen Header, der ihren Typ angibt.
SVG-Dateien sind beispielsweise nur XML-Dateien. Ohne den richtigen Mimetyp oder die richtige Erweiterung gibt es also keine Möglichkeit, den Dateityp korrekt zu identifizieren.
Mime-Typen werden als Inhaltstyp / Untertyp angegeben
Es gibt keinen Mime-Typ
image/generic
( eine vollständige Liste der von IANA registrierten Bild-Untertypen finden Sie unter "Weitere Informationen" weiter unten).Bedeutet das, dass es einen MIME-Typ für mehrere Bilddateien gibt?
Es gibt keine einzige
Content-Type/subtype
, die mehrere Bildformate abdeckt.Theoretisch könnte man einen unbekannten Subtyp verwenden,
image/xyz
aber W3C sagt explizit:„ein Content-Type
image/xyz
ist genug , um einen User - Agent zu sagen , dass die Daten ein Bild ist, selbst wenn der User - Agent keine Kenntnis von dem Bildformat hatxyz
...“ eine solche Aktion könnte für unerkannt Subtypen von Text sinnvoll sein, aber nicht für nicht erkannte Untertypen von Bild oder Audio "Source W3C - Das Content-Type Header Feld
Kann ich
image/*
für meinen Sonderfall einen Platzhalter wie verwenden ?Ja. Wie Sie bereits bemerkt haben, kann ein Platzhalter verwendet werden, wenn Sie den "Desktop-Eintrag" für die KDE- und GNOME-Desktop-Umgebungen festlegen.
Beachten Sie jedoch, dass Key =
MimeType
veraltet ist, da es dafür einen neuen Standard gibt.Quelle Desktop Entry Specification
Sie können in IIS auch Platzhalter für MIME-Typen verwenden, es wird jedoch empfohlen, dies nicht zu tun:
Quelle Erstellen globaler MIME-Typen
Weitere Lektüre
quelle
content-type/subtype
, die mehrere Bildformate abdeckt.image/*
funktioniert der in meiner Frage angegebene Zweck auch fürsvg
Dateien - also als Desktop-Eintrag wieMimeType=image/*
.Type=MimeType
wird es nicht mehr empfohlen, da es hierfür jetzt einen neuen Standard gibt. Weitere Informationen finden Sie in der Shared MIME-info Database-Spezifikation MIME-Typ) und DefaultApp (die diesem MIME-Typ zugeordnete Standardanwendung) sind ebenfalls veraltet. "Nach dieser SO-Antwort gibt es keinen generischen MIME-Typ. Das Problem ist, dass der MIME-Typ immer aus einem Typ, einem Subtyp und einem optionalen Parameter besteht:
Type/Subtype; Parameter
(siehe hier ). Sie möchten nur den Typ verwenden, aber per Definition ist ein Untertyp erforderlich und es gibt keinen generischen Untertyp. Eine Liste aller Bildtypen finden Sie hier .quelle
gif
undjpeg
, während diese Liste sitepoint.com/web-foundations/mime-types-complete-list anzeigt, dass es sich umimage/gif
und handeltimage/jpeg
.