Существует ли универсальный тип MIME для всех файлов изображений?

Я знаю, что могу использовать определенные типы MIME, перечисленные здесь, например, или универсальный MIME-тип для любого файла, такого как application/octet-stream, но есть ли общий MIME-тип для всех файлов изображений?

(Я хочу отредактировать .desktop файл в Linux Mint KDE, чтобы создать запись в контекстном меню "Действие" в Dolphin File Manager, которая будет отображаться только для файлов изображений.)

3 ответа

Решение

Существует ли универсальный тип MIME для всех файлов изображений?

Обычно нет, но есть несколько исключений, задокументированных позже в этом ответе.

Вам нужен MIME-тип, чтобы знать, как обрабатывать файл (без необходимости читать заголовок файла).

Заметки:

  • Не все файлы изображений имеют заголовок, который определяет их тип.

  • Например, файлы SVG- это просто файлы XML. Таким образом, без правильного mimetype или расширения не было бы способа правильно определить тип файла.

  • Типы MIME указаны как Content-Type / subtype

  • Там нет Mime Type image/generic (См. "Дальнейшее чтение" ниже для получения полного списка подтипов зарегистрированных изображений IANA).


Означает ли это, что есть MIME-тип для нескольких файлов изображений?

Нет ни одного Content-Type/subtype это охватывает несколько форматов изображений.

Теоретически вы можете использовать неизвестный подтип, такой как image/xyz но W3C прямо говорит:

"Тип контента image/xyz достаточно сообщить агенту пользователя, что данные являются изображением, даже если агент пользователя не знает о конкретном формате изображения xyz... "такое действие может быть разумным для нераспознанных подтипов текста, но не для нераспознанных подтипов изображения или аудио"

В целом, Content-Type верхнего уровня используется для объявления общего типа данных, в то время как подтип определяет конкретный формат для этого типа данных.

Таким образом, Content-Type "image / xyz" достаточно, чтобы сообщить пользовательскому агенту, что данные являются изображением, даже если пользовательский агент не знает о конкретном формате изображения "xyz".

Такая информация может использоваться, например, для принятия решения о том, показывать или нет пользователю необработанные данные из нераспознанного подтипа - такое действие может быть целесообразным для нераспознанных подтипов текста, но не для нераспознанных подтипов изображения или звука.

По этой причине зарегистрированные подтипы аудио, изображений, текста и видео не должны содержать встроенную информацию, которая действительно имеет другой тип. Такие составные типы должны быть представлены с использованием типов "multipart" или "application".

Source W3C - Поле заголовка типа содержимого


Могу ли я использовать подстановочный знак, как image/* для моего особого случая?

так что это может быть использовано для моих целей без необходимости указывать единственные расширения файлов / mimes?

Да. Как вы указали, подстановочный знак может использоваться при указании "записи рабочего стола" для рабочих сред KDE и GNOME.

Тем не менее, обратите внимание, что ключ =MimeType устарел, поскольку есть новый стандарт для этого.

Type=MimeType устарела, поскольку теперь существует новый стандарт для этого, см. спецификацию базы данных Shared MIME-info для получения дополнительной информации. В результате шаблоны ключей (различные расширения имен файлов, связанные с типом MIME) и DefaultApp (приложение по умолчанию, связанное с этим типом MIME) также устарели.

Спецификация входа рабочего стола

Вы также можете использовать шаблоны подстановки для типов пантомимы в IIS, но рекомендуется не делать этого:

Вы также можете настроить IIS для обслуживания неопределенных типов файлов, добавив подстановочный знак (*) MIME-тип.

Не используйте групповые MIME-типы на производственных серверах. Это может привести к тому, что IIS будет обслуживать нераспознанные файлы и отображать конфиденциальную информацию для пользователей.

MIME-типы с подстановочными знаками предназначены для целей тестирования или в тех случаях, когда фильтры Internet Server API (ISAPI) были разработаны специально для обработки этих сценариев с подстановочными знаками, например, ISAPI с настраиваемой аутентификацией.

Источник Создание глобальных типов MIME


дальнейшее чтение

Согласно этому SO-Ответу, нет общего MIME-типа. Проблема в том, что MIME-тип всегда состоит из типа, подтипа и необязательного параметра: Type/Subtype; Parameter (см. здесь). Вы хотите использовать только тип, но по определению требуется подтип, и нет общего подтипа. Список всех типов изображений можно найти здесь.

Другие вопросы по тегам