Досить просте запитання, але, здається, не можна знайти його в Інтернеті. Я намагаюся зробити програму, яка в залежності від типу файлу дасть мені розширення.
Досить просте запитання, але, здається, не можна знайти його в Інтернеті. Я намагаюся зробити програму, яка в залежності від типу файлу дасть мені розширення.
Відповіді:
Ні, 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 .
image/jpeg jpeg jpg;image/jpg jpeg jpg;
Для тих, хто може допомогти, я використовую цей список як посилання, щоб визначити свій тип вмісту, коли мені доведеться мати справу з зображеннями в моєму додатку.
Це говорить про те, що розширення jpg можна оголосити за допомогою Content-type : image/jpeg
Немає жодного image/jpgатрибута для типу вмісту.
tl; dr - "стандарти" - це безладний хаос; залежить, кого ви запитаєте!
Загалом, схоже, немає MIME типу image/jpg. Однак на практиці майже все програмне забезпечення обробляє файли зображень, названі " *.jpg" добре.
Ця конкретна тема є заплутаною, оскільки мінлива асоціація розширень імен файлів, пов'язаних з типом MIME, залежить від того, яка організація створила таблицю розширень імен файлів до типів MIME. Іншими словами, розширення імені файлів .jpgможе бути різним.
Наприклад, тут є три "повні списки" та один RFC, який змінюється в різних розширеннях назв файлів формату JPEG Image та пов'язаних з ними типів MIME.
.jfif, .jfif-tbnl, .jpe, .jpeg, .jpg→image/jpeg.jfif, .jpe, .jpeg, .jpg→image/pjpeg.jpeg, .jpg →image/jpeg.jpeg, .jpg →image/x-citrix-jpeg.pjpeg → image/pjpegjpg не згаданийjpeg→ див. RFC 2045 (немає згадки), див. RFC 2046 → image/jpeg13JPEG → video/JPEGjpeg2000 → video/jpeg2000jpm→ image/jpm( JPEG 2000 )jpx→ image/jpx( JPEG 2000 )vnd.sealedmedia.softseal.jpg → image/vnd.sealedmedia.softseal.jpgЦі "повні списки" та 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 на планеті, відображений у розширення файлів? ".
Тут важливо зауважити, що тип mime не збігається з розширенням файлу. Однак іноді вони мають однакове значення.
https://www.iana.org/assignments/media-types/media-types.xhtml включає список зареєстрованих типів Mime, хоча нічого не заважає скласти свій власний, якщо ви обидва відправляєте. і приймальний кінець. Ось де Майкрософт приходить до картини.
Там, де існує велика плутанина, той факт, що в операційних системах є свій спосіб ідентифікації типів файлів за допомогою хвостового кінця імені файлу, який називається розширенням. У сучасних операційних системах вся назва - одна довга струна, але в більш примітивних операційних системах вона трактується як окремий атрибут.
ОС, яка викликала плутанину, - це MSDOS, який обмежив розширення на 3 символи. Це обмеження успадковується донині на таких пристроях, як SD-карти, які все ще зберігають дані таким же чином.
Одним з побічних ефектів цього обмеження є те, що деякі розширення файлів, наприклад, .gifвідповідають їх типу Mime image/gif, а інші піддаються компрометації. Сюди входить, image/jpegчиє розширення скорочено до .jpg. Навіть у сучасних Windows, де знято обмеження, Microsoft ніколи не відпускала минуле, і тому розширення файлу все ще є скороченою версією.
З огляду на те, що:
Коротка відповідь:
image/jpg, тому відповідь - це не те саме, щоimage/jpeg Поки ми в цьому ...
Спадкові версії Internet Explorer взяли на себе можливість завантажувати jpegфайли з Mime Type of image/pjpeg, що, звичайно, просто означає більше роботи для всіх інших. Вони також завантажували pngфайли як image/x-png.
У вас немає, image/jpgале ви можете використовувати.jpg
Приклад
<input type="file" accept=".jpg"/>
Джерело: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers