MIME ประเภท 'image / jpg' เหมือนกับ 'image / jpeg' หรือไม่


341

คำถามที่ค่อนข้างง่าย แต่ดูเหมือนจะไม่สามารถพบได้ทุกที่ทางออนไลน์ ฉันกำลังพยายามสร้างโปรแกรมที่ขึ้นอยู่กับประเภทของไฟล์จะให้ส่วนขยายแก่ฉัน


10
AFAIK มีเพียงประเภท "image / jpeg" freeformatter.com/mime-types-list.html#mime-types-list
Dale


จะต้องสับสนตอนดึกแล้ว ฉันจะลองดูด้วย "image / jpeg"
Joe Scotto

คำตอบ:


493

ไม่image/jpgไม่เหมือนกันimage/jpegเท่านั้นที่image/jpegได้รับการยอมรับว่าเป็นประเภท mime จริงสำหรับไฟล์ JPEG

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

การให้บริการที่ไม่ถูกต้องของเนื้อหาประเภทimage/jpgเพื่อ IE อาจทำให้เกิดปัญหาดู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
รูปภาพ / jpeg เท่านั้น
James Bone

ปัญหาหลักที่เกิดจากสิ่งนี้คือ Safari จะเปิดลิงค์รูปภาพใน Preview แทนหน้าต่างเบราว์เซอร์เพราะคิดว่าเป็นประเภทภาพที่ไม่รู้จัก (ซึ่งในทางเทคนิคแล้วคือ)
Peter Flynn

16

สำหรับสิ่งที่อาจช่วยฉันใช้รายการนี้เป็นข้อมูลอ้างอิงเพื่อกำหนดประเภทเนื้อหาของฉันเมื่อฉันต้องจัดการกับภาพในแอพของฉัน

มันบอกว่านามสกุล jpg สามารถประกาศได้ด้วย Content-type : image/jpeg

ไม่มีimage/jpgแอตทริบิวต์สำหรับประเภทเนื้อหา


7

tl; dr "มาตรฐาน" เป็นระเบียบ - ฮ็อดจ์ - ลอดจ์; มันขึ้นอยู่กับคนที่คุณถาม!

image/jpgโดยรวมมีดูเหมือนจะไม่มีชนิดไมม์ ในทางปฏิบัติซอฟต์แวร์เกือบทั้งหมดสามารถจัดการไฟล์รูปภาพที่มีชื่อว่า " *.jpg" ได้ดี
หัวข้อเฉพาะนี้ทำให้เกิดความสับสนเนื่องจากความสัมพันธ์ที่แตกต่างกันของส่วนขยายชื่อไฟล์ที่เชื่อมโยงกับชนิด MIME ขึ้นอยู่กับองค์กรที่สร้างตารางของนามสกุลไฟล์ชื่อประเภท MIME กล่าวอีกนัยหนึ่งนามสกุลไฟล์.jpgอาจแตกต่างกันมาก

ตัวอย่างเช่นต่อไปนี้เป็น "รายการที่สมบูรณ์" สามรายการและ RFC หนึ่งรายการที่แตกต่างกันโดยมีนามสกุลไฟล์รูปแบบภาพ JPEG ที่หลากหลายและประเภท MIME ที่เกี่ยวข้อง

"รายการที่สมบูรณ์" และ RFC เหล่านี้ไม่มีประเภท MIME image/jpg! แต่สำหรับชนิดของไฟล์image/jpegบางรายการที่แตกต่างกันจะมีนามสกุลของชื่อแฟ้ม ( .jpeg, .jpg, ... ) image/jpegรายการอื่นไม่ได้กล่าวถึง
นอกจากนี้ยังมีประเภทของรูปแบบภาพ JPEG หลายรูปแบบเช่นรูปแบบProgressive JPEG Image , JPEG 2000 , ฯลฯ และ "JPEG Extensions" ที่อาจหรือไม่ทับซ้อนกันในนามสกุลไฟล์และประเภท MIME ที่ประกาศไว้
สิ่งที่น่าสับสนอีกอย่างคือRFC 3745ไม่ตรงกับประเภทสื่อของ IANAแต่RFC 3745 ควรแจ้งให้เอกสารประเภทสื่อของ IANAทราบ ตัวอย่างเช่นในRFC 3745 .jpfเป็นนามสกุลไฟล์ที่ต้องการสำหรับimage/jpxแต่ในIANA Media Types ไม่มีชื่อjpf(และเอกสาร IANA นั้นอ้างอิงRFC 3745 !)
สิ่งที่ทำให้สับสนอีกอย่างคือIANA Media Typesแสดงรายการ "ชื่อ" แต่ไม่ได้แสดงรายการ สิ่งนี้มีวัตถุประสงค์ แต่สร้างความสับสนในความพยายามในการขยายส่วนขยายชื่อไฟล์กับประเภท MIME
สิ่งที่ทำให้สับสนอีกประการคือ: " mime " หรือ " MIME " หรือ " MIME type " หรือ " mime type " หรือ " mime / type " หรือ " media type " ⁉😧

เอกสารที่ดูเหมือนเป็นทางการที่สุดของ IANA นั้นไม่เพียงพออย่างน่าประหลาดใจ ชนิดไม่มี MIME มีการลงทะเบียนสำหรับการขยายไฟล์ยังมีอยู่แปลก.jpg vnd.sealedmedia.softseal.jpgนามสกุลไฟล์.JPEGเป็นที่รู้จักกันเพียงvideoประเภทในขณะที่นามสกุลไฟล์.jpegเป็นประเภทภาพ (เมื่อตัวอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เริ่มมีความสำคัญ!?) ในเวลาเดียวกันjpeg2000เป็นประเภทvideoRFC 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 ที่ลงทะเบียนไว้แม้ว่าจะไม่มีอะไรทำให้คุณหยุดทำเองตราบใดที่คุณกำลังส่ง และจุดสิ้นสุดการรับ นี่คือที่มาของ Microsoft ในภาพ

ในกรณีที่มีความสับสนอยู่มากคือความจริงที่ว่าระบบปฏิบัติการมีวิธีการระบุชนิดของไฟล์ของตัวเองโดยใช้ส่วนท้ายของชื่อไฟล์ที่เรียกว่าส่วนขยาย ในระบบปฏิบัติการสมัยใหม่ชื่อทั้งหมดคือสตริงยาวหนึ่งสตริง แต่ในระบบปฏิบัติการดั้งเดิมมากกว่านั้นจะถือเป็นแอตทริบิวต์แยกต่างหาก

ระบบปฏิบัติการที่ทำให้เกิดความสับสนคือ MSDOS ซึ่ง จำกัด การขยายไว้ที่ 3 ตัวอักษร ข้อ จำกัด นี้สืบทอดมาจนถึงทุกวันนี้ในอุปกรณ์เช่นการ์ด SD ซึ่งยังคงเก็บข้อมูลในลักษณะเดียวกัน

ผลข้างเคียงอย่างหนึ่งของข้อ จำกัด นี้คือส่วนขยายไฟล์บางอย่างเช่น.gifจับคู่ประเภท Mime ของพวกเขาimage/gifในขณะที่คนอื่น ๆ ถูกบุกรุก ซึ่งรวมถึงการมีส่วนขยายลงไปimage/jpeg .jpgแม้ใน Windows รุ่นใหม่ที่มีการยกข้อ จำกัด ไมโครซอฟท์จะไม่ปล่อยให้อดีตผ่านไปดังนั้นไฟล์นามสกุลจึงยังคงเป็นเวอร์ชั่นที่สั้นลง

ระบุว่า:

  1. นามสกุลไฟล์ไม่ใช่ประเภทไฟล์
  2. ในอดีตระบบปฏิบัติการบางระบบมีข้อ จำกัด ชื่อไฟล์ที่ร้ายแรง
  3. ระบบปฏิบัติการบางระบบจะทำตามกฎของตัวเอง

คำตอบสั้น ๆ คือ:

  • ในทางเทคนิคไม่มีสิ่งเช่นimage/jpgนั้นดังนั้นคำตอบก็คือมันไม่เหมือนกันimage/jpeg
  • สิ่งนี้จะไม่หยุดระบบปฏิบัติการและซอฟต์แวร์บางตัวไม่ให้ทำงานเหมือนว่ามันเหมือนเดิม

ในขณะที่เราอยู่ที่มัน ...

รุ่นเก่าของ Internet Explorer ให้อิสระในการอัปโหลดjpegไฟล์ด้วย Mime Type image/pjpegซึ่งแน่นอนว่าหมายถึงการทำงานมากขึ้นสำหรับคนอื่น ๆ พวกเขายังอัปโหลดไฟล์pngimage/x-png


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.