Чи тип MIME 'image / jpg' збігається з 'image / jpeg'?


341

Досить просте запитання, але, здається, не можна знайти його в Інтернеті. Я намагаюся зробити програму, яка в залежності від типу файлу дасть мені розширення.


10
AFAIK існує лише тип "image / jpeg" freeformatter.com/mime-types-list.html#mime-types-list
Дейл


Тоді повинно бути пізна плутанина. Я збираюся просто спробувати "image / jpeg".
Джо Скотто

Відповіді:


493

Ні, image/jpgне те саме, що image/jpeg, тількиimage/jpeg розпізнається як фактичний тип mime для файлів JPEG.

Дивіться https://tools.ietf.org/html/rfc3745 , https://www.w3.org/Graphics/JPEG/ .

Подання неправильного типу вмісту image/jpgIE може спричинити проблеми, див. Http://www.bennadel.com/blog/2609-internet-explorer-aborts-images-with-the-wrong-mime-type.htm .


3
Що ми маємо розмістити в наших mime.types? image/jpeg jpeg jpg;image/jpg jpeg jpg;
cyber8200

40
Тільки image / jpeg
James Bone

Основна проблема, викликана цим, полягає в тому, що Safari відкриє посилання на зображення в Preview, а не у вікні браузера, оскільки вважає, що це невідомий тип зображення (що технічно це є).
Пітер Флін

16

Для тих, хто може допомогти, я використовую цей список як посилання, щоб визначити свій тип вмісту, коли мені доведеться мати справу з зображеннями в моєму додатку.

Це говорить про те, що розширення jpg можна оголосити за допомогою Content-type : image/jpeg

Немає жодного image/jpgатрибута для типу вмісту.


7

tl; dr - "стандарти" - це безладний хаос; залежить, кого ви запитаєте!

Загалом, схоже, немає MIME типу image/jpg. Однак на практиці майже все програмне забезпечення обробляє файли зображень, названі " *.jpg" добре.
Ця конкретна тема є заплутаною, оскільки мінлива асоціація розширень імен файлів, пов'язаних з типом MIME, залежить від того, яка організація створила таблицю розширень імен файлів до типів MIME. Іншими словами, розширення імені файлів .jpgможе бути різним.

Наприклад, тут є три "повні списки" та один RFC, який змінюється в різних розширеннях назв файлів формату JPEG Image та пов'язаних з ними типів MIME.

Ці "повні списки" та RFC не мають типу MIME image/jpg! Але для MIME типу image/jpegдеяких списків дійсно мають різні розширення імен файлів ( .jpeg, .jpg, ...). Інші списки не згадують image/jpeg.
Також існують різні типи формату зображення JPEG s (наприклад, прогресивний формат зображення JPEG , JPEG 2000 , etcetera) та "розширення JPEG", які можуть або не перекриватись у розширенні імені файлу та оголошеному типі MIME.
Ще одна заплутаність - RFC 3745 не відповідає стандартам IANA Media, але RFC 3745 повинен повідомити про документ IANA Media Types . Наприклад, в RFC 3745 .jpfє кращим розширенням файлу, image/jpxале в типах Media IANA його jpfнемає (і що посилання на документ IANA посилається на RFC 3745 !).
Інша заплутана річ - це типи медіа-файлів IANA, які перераховують "імена", але не містять "розширення імен файлів". Це цілеспрямовано, але плутає намагання зіставити розширення імен файлів у типи MIME.
Інша заплутана річ: це " mime ", або " MIME ", або " MIME type ", або " mime type ", або " mime / type ", або " тип медіа " "⁉ 😧

Найбільш офіційний, здавалося б, документ IANA напрочуд неадекватний. Для розширення файлу .jpgне зареєстровано жодного типу MIME, але існує незвичайний vnd.sealedmedia.softseal.jpg. Розширення файлу .JPEGвідоме лише як videoтип, тоді як розширення файлу .jpeg- це тип зображення (коли значні і малі літери починають мати значення !?). У той же час, jpeg2000це тип videoще RFC 3745 розглядає JPEG 2000image типу! Список IANA, здається, задовольняє специфічні для компанії формати jpeg (наприклад vnd.sealedmedia.softseal.jpg).

Через попередні плутанини важко знайти загальноприйнятий канонічний документ, який відображає розширення імен файлів на типи MIME, особливо для формату файлів зображень JPEG.



Пов'язане запитання " Список ВСІХ MimeTypes на планеті, відображений у розширення файлів? ".


зазвичай є лише ОДНЕ джерело, яке описує стандарт, а не 4 (!). RFC - хороша точка входу!
simUser

4

Тут важливо зауважити, що тип mime не збігається з розширенням файлу. Однак іноді вони мають однакове значення.

https://www.iana.org/assignments/media-types/media-types.xhtml включає список зареєстрованих типів Mime, хоча нічого не заважає скласти свій власний, якщо ви обидва відправляєте. і приймальний кінець. Ось де Майкрософт приходить до картини.

Там, де існує велика плутанина, той факт, що в операційних системах є свій спосіб ідентифікації типів файлів за допомогою хвостового кінця імені файлу, який називається розширенням. У сучасних операційних системах вся назва - одна довга струна, але в більш примітивних операційних системах вона трактується як окремий атрибут.

ОС, яка викликала плутанину, - це MSDOS, який обмежив розширення на 3 символи. Це обмеження успадковується донині на таких пристроях, як SD-карти, які все ще зберігають дані таким же чином.

Одним з побічних ефектів цього обмеження є те, що деякі розширення файлів, наприклад, .gifвідповідають їх типу Mime image/gif, а інші піддаються компрометації. Сюди входить, image/jpegчиє розширення скорочено до .jpg. Навіть у сучасних Windows, де знято обмеження, Microsoft ніколи не відпускала минуле, і тому розширення файлу все ще є скороченою версією.

З огляду на те, що:

  1. Розширення файлів - це не типи файлів
  2. Історично деякі операційні системи мали серйозні обмеження у назві файлів
  3. Деякі операційні системи просто йдуть вперед і складають свої власні правила

Коротка відповідь:

  • Технічно такого поняття не існує image/jpg, тому відповідь - це не те саме, щоimage/jpeg
  • Це не завадить деяким операційним системам та програмному забезпеченню трактувати їх так, ніби вони однакові

Поки ми в цьому ...

Спадкові версії Internet Explorer взяли на себе можливість завантажувати jpegфайли з Mime Type of image/pjpeg, що, звичайно, просто означає більше роботи для всіх інших. Вони також завантажували pngфайли як image/x-png.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.