Ich weiß, dass ich die spezifischen MIME-Typen verwenden kann, wie sie beispielsweise aufgelistet sindHier, oder ein allgemeiner MIME-Typ für alle Dateien wie application/octet-stream
, aber gibt es einen allgemeinen MIME-Typ für alle Bilddateien?
(Ich möchte eine Datei in Linux Mint KDE bearbeiten, .desktop
um im Dolphin File Manager einen Kontextmenüeintrag „Aktion“ zu erstellen, der nur für Bilddateien angezeigt wird.)
Antwort1
Gibt es einen allgemeinen MIME-Typ für alle Bilddateien?
Normalerweise ist dies nicht der Fall, es gibt jedoch einige Ausnahmen, die später in dieser Antwort dokumentiert sind.
Sie benötigen einen MIME-Typ, um zu wissen, wie eine Datei verarbeitet wird (ohne den Dateiheader lesen zu müssen).
Anmerkungen:
Nicht alle Bilddateien haben einen Header, der ihren Typ identifiziert.
SVG-Dateiensind beispielsweise nur XML-Dateien. Ohne den richtigen MIME-Typ oder die richtige Erweiterung gäbe es also keine Möglichkeit, den Dateityp richtig zu identifizieren.
Mime-Typen werden als Inhaltstyp/Untertyp angegeben
Es gibt keinen MIME-Typ
image/generic
(die vollständige Liste der bei IANA registrierten Bilduntertypen finden Sie weiter unten unter „Weiterführende Literatur“).
Bedeutet das, dass es einen MIME-Typ für mehrere Bilddateien gibt?
Es gibt keineinzel Content-Type/subtype
das mehrere Bildformate abdeckt.
Theoretisch könnten Sie einen unbekannten Subtyp wie verwenden, image/xyz
aber W3C sagt ausdrücklich:
"Ein Content-Type von image/xyz
reicht aus, um einem Benutzerprogramm mitzuteilen, dass es sich bei den Daten um ein Bild handelt, selbst wenn das Benutzerprogramm keine Kenntnis des spezifischen Bildformats hat xyz
... "Eine solche Aktion kann für nicht erkannte Textuntertypen sinnvoll sein,aber nicht für nicht erkannte Untertypen von Bild oder Audio"
Im Allgemeinen wird der Inhaltstyp der obersten Ebene verwendet, um den allgemeinen Datentyp zu deklarieren, während der Untertyp ein bestimmtes Format für diesen Datentyp angibt.
Daher reicht ein Inhaltstyp von „image/xyz“ aus, um einem Benutzerprogramm mitzuteilen, dass es sich bei den Daten um ein Bild handelt, selbst wenn das Benutzerprogramm keine Kenntnis vom spezifischen Bildformat „xyz“ hat.
Solche Informationen können beispielsweise verwendet werden, um zu entscheiden, ob einem Benutzer die Rohdaten eines nicht erkannten Untertyps angezeigt werden sollen oder nicht. Eine solche Aktion kann bei nicht erkannten Untertypen von Text sinnvoll sein, jedoch nicht bei nicht erkannten Untertypen von Bildern oder Audio.
Aus diesem Grund sollten registrierte Untertypen von Audio, Bild, Text und Video keine eingebetteten Informationen enthalten, die tatsächlich von einem anderen Typ sind. Solche zusammengesetzten Typen sollten mit den Typen „multipart“ oder „application“ dargestellt werden.
QuelleW3C - Das Content-Type-Headerfeld
image/*
Kann ich für meinen Sonderfall ein Platzhalterzeichen verwenden ?
sodass es für meine Zwecke verwendet werden kann, ohne dass die einzelnen Dateierweiterungen/MIMEs angegeben werden müssen?
Ja. Wie Sie bereits erwähnt haben, kann beim Festlegen des „Desktop-Eintrags“ für die KDE- und GNOME-Desktopumgebungen ein Platzhalter verwendet werden.
Beachten Sie jedoch, dass Key= MimeType
veraltet ist, da es hierfür einen neuen Standard gibt.
Type=MimeType
ist veraltet, da es dafür jetzt einen neuen Standard gibt, siehe dieSpezifikation der gemeinsamen MIME-Info-Datenbankfür weitere Informationen. Infolgedessen werden auch die Keys Patterns (verschiedene Dateinamenerweiterungen, die mit dem MIME-Typ verknüpft sind) und DefaultApp (die mit diesem MIME-Typ verknüpfte Standardanwendung) nicht mehr unterstützt.
QuelleDesktop-Eintragsspezifikation
Sie können auch Platzhalter für MIME-Typen in IIS verwenden, es wird jedoch empfohlen,nichtmach das:
Sie können IIS auch so konfigurieren, dass undefinierte Dateitypen bereitgestellt werden, indem Sie dem MIME-Typ ein Platzhalterzeichen (*) hinzufügen.
Verwenden Sie auf Produktionsservern keine MIME-Typen mit Platzhaltern. Dies kann dazu führen, dass IIS nicht erkannte Dateien bereitstellt und Benutzern vertrauliche Informationen anzeigt.
Platzhalter-MIME-Typen sind für Testzwecke oder Szenarien vorgesehen, in denen Internet Server API (ISAPI)-Filter speziell für die Handhabung dieser Platzhalterszenarien entwickelt wurden, beispielsweise eine benutzerdefinierte ISAPI-Authentifizierung.
QuelleErstellen globaler MIME-Typen
Weiterführende Literatur
- IANA – Registrierte Medientypen – Bild(Bildinhaltstyp und Untertypen)
- W3C - Das Content-Type-Headerfeld
Antwort2
Entsprechenddiese SO-Antwortgibt 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
(sieheHier). 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 SieHier.