Czy typ MIME „image / jpg” jest taki sam jak „image / jpeg”?

341

Dość proste pytanie, ale wydaje się, że nie można go znaleźć nigdzie w Internecie. Próbuję stworzyć program, który w zależności od typu pliku da mi rozszerzenie.

Joe Scotto
źródło
10
AFAIK istnieje tylko typ „image / jpeg” freeformatter.com/mime-types-list.html#mime-types-list
Dale
To musi być zamieszanie późną nocą. Spróbuję po prostu z „image / jpeg”.
Joe Scotto,

Odpowiedzi:

493

Nie, image/jpgto nie to samo, co image/jpegtylko image/jpegjest rozpoznawany jako faktyczny typ MIME dla plików JPEG.

Zobacz https://tools.ietf.org/html/rfc3745 , https://www.w3.org/Graphics/JPEG/ .

Podanie niepoprawnego typu treści image/jpgdo IE może powodować problemy, zobacz http://www.bennadel.com/blog/2609-internet-explorer-aborts-images-with-the-wrong-mime-type.htm .

Adrian Baker
źródło
3
Co powinniśmy umieścić w naszych mime.typach? image/jpeg jpeg jpg;image/jpg jpeg jpg;
cyber8200
40
Tylko zdjęcie / JPEG
James Bone
Zasadniczym problemem spowodowanym przez to jest to, że Safari otworzy łącze do podglądu zamiast w oknie przeglądarki, ponieważ uważa, że ​​jest to nieznany typ obrazu (co technicznie jest).
Peter Flynn
16

Dla tych, którzy mogą pomóc, używam tej listy jako odniesienia do zdefiniowania mojego typu zawartości, gdy mam do czynienia z obrazami w mojej aplikacji.

Mówi, że rozszerzenie jpg można zadeklarować za pomocą Content-type : image/jpeg

Nie ma żadnego image/jpgatrybutu typu treści.

lucyjosef
źródło
7

tl; dr „standardy” to bałagan hodge-podge; zależy od kogo zapytasz!

Ogólnie wydaje się, że nie ma typu MIME image/jpg. W praktyce jednak prawie wszystkie programy dobrze sobie radzą z plikami obrazów o nazwie „ *.jpg”.
Ten konkretny temat jest mylący, ponieważ różne powiązania rozszerzeń nazw plików powiązanych z typem MIME zależą od tego, która organizacja utworzyła tabelę rozszerzeń nazw plików z typami MIME. Innymi słowy, rozszerzenie nazwy pliku .jpgmoże obejmować wiele różnych rzeczy.

Na przykład tutaj są trzy „pełne listy” i jedna RFC, które różnią się w zależności od różnych rozszerzeń nazw plików w formacie JPEG Image i powiązanych typów MIME.

Te „pełne listy” i RFC nie mają typu MIME image/jpg! Ale dla typu MIME image/jpegniektóre listy nie mają różne rozszerzenia nazw plików ( .jpeg, .jpg...). Inne listy nie wspominają image/jpeg.
Istnieją również różne typy formatów JPEG (np. Progresywny format JPEG , JPEG 2000 itp.) I „Rozszerzenia JPEG”, które mogą, ale nie muszą nakładać się na rozszerzenie nazwy pliku i zadeklarowany typ MIME.
Inną mylącą rzeczą jest to, że RFC 3745 nie wydaje się pasować do typów mediów IANA, ale RFC 3745 powinien informować o dokumencie typów mediów IANA . Na przykład w RFC 3745 .jpfjest preferowanym rozszerzeniem pliku, image/jpxale w typach nośników IANA nazwa jpfnie jest obecna (a dokument IANA odwołuje się do RFC 3745 !).
Inną mylącą rzeczą jest to, że IANA Media Types wymienia „nazwy”, ale nie wymienia „rozszerzeń nazw plików”. Jest to celowe, ale myli wysiłek związany z mapowaniem rozszerzeń nazw plików na typy MIME.
Kolejna myląca rzecz: czy to „ mime ”, czy „ MIME ”, „ MIME type ”, „ mime type ”, „ mime / type ” lub „ media type ”⁉ 😧

Najbardziej oficjalny pozornie dokument IANA jest zaskakująco nieodpowiedni. Żaden typ MIME nie jest zarejestrowany dla rozszerzenia pliku, .jpgale istnieje nieparzysta vnd.sealedmedia.softseal.jpg. Rozszerzenie pliku .JPEGjest znane tylko jako videotyp, podczas gdy rozszerzenie pliku .jpegjest typem obrazu (kiedy małe i wielkie litery zaczęły mieć znaczenie !?). Jednocześnie jpeg2000jest typ videojeszcze RFC 3745 uważa JPEG 2000 za imagetyp! Lista IANA wydaje się odpowiadać specyficznym dla firmy formatom JPEG (np vnd.sealedmedia.softseal.jpg.).

Z powodu wcześniejszych nieporozumień trudno jest znaleźć akceptowany w branży dokument kanoniczny, który mapuje rozszerzenia nazw plików na typy MIME, szczególnie w formacie JPEG Image File Format.



Podobne pytanie „ Lista WSZYSTKICH typów MimeTypes na planecie, zmapowanych do rozszerzeń plików? ”.

JamesThomasMoon1979
źródło
zwykle jest tylko JEDNE źródło opisujące standard, a nie 4 (!). RFC jest dobrym punktem wyjścia!
simUser
4

Należy tutaj zauważyć, że typ MIME nie jest taki sam jak rozszerzenie pliku. Czasami mają jednak tę samą wartość.

https://www.iana.org/assignments/media-types/media-types.xhtml zawiera listę zarejestrowanych typów MIME, choć nic nie stoi na przeszkodzie, abyś sam sobie wymyślił, o ile jesteś przy wysyłaniu i koniec odbierający. Oto, gdzie pojawia się Microsoft.

W przypadku wielu nieporozumień istnieje fakt, że systemy operacyjne mają swój własny sposób identyfikowania typów plików za pomocą końcówki nazwy pliku, zwanej rozszerzeniem. W nowoczesnych systemach operacyjnych cała nazwa jest jednym długim ciągiem, ale w bardziej prymitywnych systemach operacyjnych jest traktowana jako osobny atrybut.

System operacyjny, który spowodował zamieszanie, to MSDOS, który ograniczył rozszerzenie do 3 znaków. To ograniczenie jest dziedziczone do dziś w urządzeniach, takich jak karty SD, które nadal przechowują dane w ten sam sposób.

Jednym efektem ubocznym tego ograniczenia jest to, że niektóre rozszerzenia plików, takie jak .gifpasują do typu Mime image/gif, podczas gdy inne są zagrożone. Obejmuje to, image/jpegktórego rozszerzenie jest skrócone .jpg. Nawet w nowoczesnym systemie Windows, w którym zniesiono ograniczenie, Microsoft nigdy nie puścił przeszłości, więc rozszerzenie pliku jest nadal skróconą wersją.

Biorąc pod uwagę, że:

  1. Rozszerzenia plików nie są typami plików
  2. Historycznie niektóre systemy operacyjne miały poważne ograniczenia nazw plików
  3. Niektóre systemy operacyjne będą po prostu tworzyć własne reguły

Krótka odpowiedź brzmi:

  • Technicznie nie ma czegoś takiego jak image/jpg, więc odpowiedź jest taka, że ​​to nie to samo coimage/jpeg
  • To nie powstrzyma niektórych systemów operacyjnych i oprogramowania od traktowania go tak, jakby był taki sam

Skoro już przy tym jesteśmy…

Starsze wersje Internet Explorera pozwoliły na przesyłanie jpegplików za pomocą Mime Type image/pjpeg, co oczywiście oznacza po prostu więcej pracy dla wszystkich innych. Przesłali również pngpliki jako image/x-png.

Manngo
źródło