Wiem, że mogę używać określonych typów MIME wymienionych na przykład tutaj lub ogólnego typu MIME dla dowolnego takiego pliku application/octet-stream
, ale czy istnieje ogólny typ MIME dla wszystkich plików obrazów?
(Chcę edytować .desktop
plik w Linux Mint KDE, aby utworzyć pozycję menu kontekstowego „Akcja” w Menedżerze plików Dolphin, która byłaby wyświetlana tylko dla plików obrazów.)
mime-types
image-processing
Excellll
źródło
źródło
image/*
działałoby (tak jak przeglądarki)?image/*
działa w celu wskazanym w moim pytaniu, nawet w przypadkusvg
plików - to znaczy jako wpis na pulpicieMimeType=image/*
. Odpowiedz na to bardziej szczegółowe pytanie, na które komentujesz, jest odpowiedzią.Odpowiedzi:
Czy istnieje ogólny typ MIME dla wszystkich plików obrazów?
Zwykle nie ma, ale jest kilka wyjątków udokumentowanych w dalszej części tej odpowiedzi.
Potrzebujesz Mime Type, aby wiedzieć, jak przetwarzać plik (bez konieczności czytania nagłówka pliku).
Uwagi:
Nie wszystkie pliki obrazów mają nagłówek identyfikujący ich typ.
Na przykład pliki SVG to tylko pliki XML. Zatem bez prawidłowego typu mime lub rozszerzenia nie byłoby sposobu, aby poprawnie zidentyfikować typ pliku.
Typy MIME są określone jako Content-Type / podtyp
Nie ma typu MIME
image/generic
(patrz „Dalsza lektura” poniżej, aby uzyskać pełną listę podtypów zarejestrowanych obrazów IANA).Czy to oznacza, że istnieje wiele typów plików MIME?
Nie ma jednego,
Content-Type/subtype
który obejmowałby wiele formatów obrazów.Teoretycznie możesz użyć nieznanego podtypu, takiego jak
image/xyz
W3C, który wyraźnie mówi:„typ zawartości
image/xyz
jest wystarczający, aby poinformować agenta użytkownika, że dane są obrazem, nawet jeśli agent użytkownika nie ma wiedzy o konkretnym formacie obrazuxyz
...” takie działanie może być uzasadnione w przypadku nierozpoznanych podtypów tekstu, ale nie dla nierozpoznanych podtypów obrazu lub dźwięku ”Źródło W3C - pole nagłówka Content-Type
Czy mogę użyć symbolu wieloznacznego jak
image/*
w moim specjalnym przypadku?Tak. Jak już wspomniałeś, przy określaniu „Wpisu pulpitu” dla środowiska graficznego KDE i GNOME można użyć symbolu wieloznacznego.
Należy jednak pamiętać, że Key =
MimeType
jest przestarzałe, ponieważ istnieje nowy standard w tym zakresie.Specyfikacja źródłowego wpisu pulpitu
Można również użyć symboli wieloznacznych dla typów MIME w IIS, ale zaleca się nie to zrobić:
Źródło Tworzenie globalnych typów MIME
Dalsza lektura
źródło
content-type/subtype
który obejmowałby wiele formatów obrazów.image/*
działa w celu wskazanym w moim pytaniu, nawet w przypadkusvg
plików - to znaczy jako wpis na pulpicieMimeType=image/*
.Type=MimeType
jest przestarzałe, ponieważ istnieje teraz nowy standard, zobacz specyfikację Shared MIME-info Database, aby uzyskać więcej informacji. W konsekwencji Wzorce kluczy (różne rozszerzenia nazw plików powiązane z Typ MIME) i DefaultApp (domyślna aplikacja skojarzona z tym typem MIME) również są przestarzałe. ”Zgodnie z tym SO-Answer nie ma ogólnego typu MIME. Problem polega na tym, że typ MIME zawsze składa się z typu, podtypu i opcjonalnego parametru:
Type/Subtype; Parameter
(patrz tutaj ). Chcesz tylko użyć tego typu, ale z definicji wymagany jest podtyp i nie ma podtypu ogólnego. Listę wszystkich typów obrazów można znaleźć tutaj .źródło
gif
ijpeg
, podczas gdy ta lista sitepoint.com/web-foundations/mime-types-complete-list pokazuje, że sąimage/gif
iimage/jpeg
odpowiednio.