Существует ли универсальный тип MIME для всех файлов изображений?
Обычно нет, но есть несколько исключений, задокументированных позже в этом ответе.
Вам нужен MIME-тип, чтобы знать, как обрабатывать файл (без необходимости читать заголовок файла).
Заметки:
Не у всех файлов изображений есть заголовок, который определяет их тип.
Например, файлы SVG - это просто файлы XML. Таким образом, без правильного mimetype или расширения не было бы способа правильно определить тип файла.
Типы MIME указаны как Content-Type/subtype
Нет image/generic
типа Mime (полный список подтипов зарегистрированных изображений IANA см. Ниже).
Означает ли это, что есть MIME-тип для нескольких файлов изображений?
Не существует единого Content-Type/subtype
который охватывает несколько форматов изображений.
Теоретически вы можете использовать неизвестный подтип, такой как image/xyz
но W3C прямо говорит:
«Content-Type image/xyz
достаточно, чтобы сообщить пользовательскому агенту, что данные являются изображением, даже если пользовательский агент не знает о конкретном формате изображения xyz
...» такое действие может быть целесообразным для нераспознанных подтипов текста, но не для нераспознанных подтипов изображения или аудио
В целом, Content-Type верхнего уровня используется для объявления общего типа данных, в то время как подтип определяет конкретный формат для этого типа данных.
Таким образом, Content-Type «image /xyz» достаточно, чтобы сообщить пользовательскому агенту, что данные являются изображением, даже если пользовательский агент не знает о конкретном формате изображения "xyz".
Такая информация может использоваться, например, для решения, показывать ли пользователю необработанные данные из нераспознанного подтипа или нет - такое действие может быть целесообразным для нераспознанных подтипов текста, но не для нераспознанных подтипов изображения или звука.
По этой причине зарегистрированные подтипы аудио, изображений, текста и видео не должны содержать встроенную информацию, которая действительно имеет другой тип. Такие составные типы должны быть представлены с использованием типов "multipart" или "application".
Source W3C - Поле заголовка типа содержимого
Могу ли я использовать подстановочный знак как image/*
для моего особого случая?
так что это может быть использовано для моих целей без необходимости указывать единственные расширения файлов /mimes?
Да. Как вы указали, подстановочный знак может использоваться при указании "записи рабочего стола" для сред рабочего стола KDE и GNOME.
Тем не менее, обратите внимание, что Key = MimeType
устарела, поскольку существует новый стандарт для этого.
Type=MimeType
устарел, так как теперь существует новый стандарт для этого, см. Спецификацию базы данных Shared MIME-info для получения дополнительной информации. В результате шаблоны ключей (различные расширения имен файлов, связанные с типом MIME) и DefaultApp (приложение по умолчанию, связанное с этим типом MIME) также устарели.
Спецификация входа рабочего стола
Вы также можете использовать шаблоны для типов MIME в IIS, но рекомендуется не делать этого:
Вы также можете настроить IIS для обслуживания неопределенных типов файлов, добавив подстановочный знак (*) MIME-тип.
Не используйте подстановочные MIME-типы на производственных серверах. Это может привести к тому, что IIS будет обслуживать нераспознанные файлы и отображать конфиденциальную информацию для пользователей.
MIME-типы с подстановочными знаками предназначены для целей тестирования или в тех случаях, когда фильтры Internet Server API (ISAPI) были разработаны специально для обработки этих подстановочных сценариев, например, ISAPI с настраиваемой аутентификацией.
Источник Создание глобальных типов MIME
дальнейшее чтение