Я знаю, что могу использовать определенные типы MIME, перечисленные, например, здесь , или универсальный MIME-тип для любого файла, например application/octet-stream
, но существует ли универсальный MIME-тип для всех файлов изображений?
(Я хочу отредактировать .desktop
файл в Linux Mint KDE, чтобы создать запись контекстного меню «Действие» в Dolphin File Manager, которая будет отображаться только для файлов изображений.)
mime-types
image-processing
Excellll
источник
источник
image/*
работать (как в браузерах)?image/*
работает в целях, указанных в моем вопросе, даже дляsvg
файлов - то есть, как запись рабочего стола, какMimeType=image/*
. Пожалуйста, ответьте на этот более конкретный вопрос, на который вы комментируете ответ.Ответы:
Существует ли универсальный тип MIME для всех файлов изображений?
Обычно нет, но есть несколько исключений, задокументированных позже в этом ответе.
Вам нужен MIME-тип, чтобы знать, как обрабатывать файл (без необходимости читать заголовок файла).
Заметки:
Не все файлы изображений имеют заголовок, который определяет их тип.
Например, файлы SVG - это просто файлы XML. Таким образом, без правильного mimetype или расширения не было бы способа правильно определить тип файла.
Типы MIME указаны как Content-Type / subtype
Тип Mime отсутствует
image/generic
(полный список подтипов зарегистрированных изображений IANA см. Ниже).Означает ли это, что есть MIME-тип для нескольких файлов изображений?
Не существует сингла,
Content-Type/subtype
который бы охватывал несколько форматов изображений.Теоретически вы можете использовать неизвестный подтип, такой как,
image/xyz
но W3C прямо говорит:«Типа содержимого
image/xyz
достаточно, чтобы сообщить пользовательскому агенту, что данные являются изображением, даже если пользовательский агент не знает определенного формата изображенияxyz
...» такое действие может быть целесообразным для нераспознанных подтипов текста, но не для непризнанных подтипов изображения или аудио "Source W3C - Поле заголовка типа содержимого
Могу ли я использовать подстановочный знак, как
image/*
для моего особого случая?Да. Как вы указали, подстановочный знак может использоваться при указании «записи рабочего стола» для рабочих сред KDE и GNOME.
Тем не менее, обратите внимание, что Key =
MimeType
устарела, поскольку есть новый стандарт для этого.Источник Спецификация запись Desktop
Вы также можете использовать шаблоны подстановки для типов пантомимы в IIS, но рекомендуется не делать этого:
Источник Создание глобальных типов MIME
дальнейшее чтение
источник
content-type/subtype
который охватывает несколько форматов изображений.image/*
работает в целях, указанных в моем вопросе, даже дляsvg
файлов - то есть, как запись рабочего стола, какMimeType=image/*
.Type=MimeType
устарело, так как теперь существует новый стандарт для этого, см. Спецификацию базы данных Shared MIME-info для получения дополнительной информации. В результате шаблоны ключей (различные расширения имен файлов, связанные с MIME-тип) и DefaultApp (приложение по умолчанию, связанное с этим MIME-типом) также не рекомендуется. "Согласно этому SO-Ответу, нет общего MIME-типа. Проблема в том, что MIME-тип всегда состоит из типа, подтипа и необязательного параметра:
Type/Subtype; Parameter
(см. Здесь ). Вы хотите использовать только тип, но по определению требуется подтип, и нет общего подтипа. Список всех типов изображений можно найти здесь .источник
gif
иjpeg
, тогда как этот список sitepoint.com/web-foundations/mime-types-complete-list показывает, что они естьimage/gif
иimage/jpeg
соответственно.