มีชนิด mime ทั่วไปสำหรับไฟล์รูปภาพทั้งหมดหรือไม่?


27

ฉันรู้ว่าฉันสามารถใช้ชนิด mime เฉพาะที่ระบุไว้เช่นที่นี่หรือประเภท mime ทั่วไปสำหรับไฟล์ใด ๆ เช่นapplication/octet-streamแต่มีชนิด mime ทั่วไปสำหรับไฟล์รูปภาพทั้งหมดหรือไม่

(ฉันต้องการแก้ไข.desktopไฟล์ใน Linux Mint KDE เพื่อสร้างรายการเมนูบริบท 'การกระทำ' ใน Dolphin File Manager ที่จะแสดงเฉพาะไฟล์ภาพเท่านั้น)


1
จะimage/*ทำงาน (เช่นเบราว์เซอร์ทำ)?
Boldewyn

@Boldewyn - image/*ผลงานเพื่อวัตถุประสงค์ที่ระบุไว้ในคำถามของฉันแม้สำหรับsvgไฟล์ - MimeType=image/*นั่นคือเป็นรายการสก์ท็อปเช่น กรุณาตอบคำถามที่เฉพาะเจาะจงมากขึ้นซึ่งคุณแสดงความคิดเห็นคือคำตอบ

คำตอบ:


26

มีชนิด mime ทั่วไปสำหรับไฟล์รูปภาพทั้งหมดหรือไม่?

ปกติแล้วจะไม่มี แต่มีข้อยกเว้นสองสามข้อที่ระบุไว้ในคำตอบนี้

คุณต้องมีประเภท Mime เพื่อที่จะทราบวิธีการประมวลผลไฟล์ (โดยไม่ต้องอ่านส่วนหัวของไฟล์)

หมายเหตุ:

  • ไฟล์ภาพบางไฟล์มีส่วนหัวที่ระบุประเภทไฟล์

  • ตัวอย่างเช่นไฟล์ SVGเป็นเพียงไฟล์ XML ดังนั้นหากไม่มี mimetype หรือนามสกุลที่ถูกต้องจะไม่มีวิธีในการระบุประเภทของไฟล์ได้อย่างถูกต้อง

  • Mime Types ถูกระบุเป็น Content-Type / subtype

  • ไม่มีประเภท Mime image/generic(ดู "การอ่านเพิ่มเติม" ด้านล่างสำหรับรายการย่อยของภาพที่ลงทะเบียน IANA ทั้งหมด)


หมายความว่ามีชนิด mime สำหรับไฟล์รูปภาพหลายไฟล์หรือไม่?

ไม่มีซิงเกิ้ล Content-Type/subtypeที่ครอบคลุมหลายรูปแบบภาพ

ในทางทฤษฎีคุณสามารถใช้ประเภทย่อยที่ไม่รู้จักเช่นimage/xyzแต่ W3C พูดอย่างชัดเจน:

"ประเภทเนื้อหาของimage/xyzเพียงพอที่จะบอกตัวแทนผู้ใช้ว่าข้อมูลเป็นรูปภาพแม้ว่าตัวแทนผู้ใช้ไม่มีความรู้เกี่ยวกับรูปแบบภาพที่เฉพาะเจาะจงxyz... " การกระทำดังกล่าวอาจสมเหตุสมผลสำหรับประเภทย่อยของข้อความที่ไม่รู้จักแต่ ไม่ใช่สำหรับภาพหรือเสียงย่อยที่ไม่รู้จัก "

โดยทั่วไปแล้ว Content-Type ระดับบนสุดจะใช้เพื่อประกาศประเภทข้อมูลทั่วไปในขณะที่ประเภทย่อยจะระบุรูปแบบเฉพาะสำหรับข้อมูลประเภทนั้น

ดังนั้นประเภทเนื้อหาของ "image / xyz" ก็เพียงพอที่จะบอกตัวแทนผู้ใช้ว่าข้อมูลนั้นเป็นรูปภาพแม้ว่าตัวแทนผู้ใช้จะไม่มีความรู้เกี่ยวกับรูปแบบภาพเฉพาะ "xyz"

ข้อมูลดังกล่าวสามารถใช้เพื่อตัดสินใจว่าจะแสดงข้อมูลดิบของผู้ใช้จากชนิดย่อยที่ไม่รู้จักหรือไม่ - การกระทำดังกล่าวอาจมีเหตุผลสำหรับข้อความย่อยที่ไม่รู้จัก แต่ไม่ใช่ภาพย่อยหรือเสียงที่ไม่รู้จัก

ด้วยเหตุผลนี้ประเภทย่อยที่ลงทะเบียนของเสียงรูปภาพข้อความและวิดีโอไม่ควรมีข้อมูลฝังตัวที่เป็นประเภทอื่น ประเภทสารประกอบดังกล่าวควรแสดงโดยใช้ประเภท "multipart" หรือ "application"

แหล่งที่มาW3C - ฟิลด์ส่วนหัวของประเภทเนื้อหา


ฉันสามารถใช้ไวด์การ์ดimage/*ในกรณีพิเศษของฉันได้หรือไม่

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

ใช่. ตามที่คุณได้ระบุไวด์การ์ดไว้แล้วสามารถใช้เมื่อระบุ "รายการเดสก์ท็อป" สำหรับสภาพแวดล้อมเดสก์ท็อป KDE และ GNOME

อย่างไรก็ตามโปรดทราบว่า Key = MimeTypeเลิกใช้แล้วเนื่องจากมีมาตรฐานใหม่สำหรับสิ่งนี้

Type=MimeTypeเลิกใช้แล้วเนื่องจากมีมาตรฐานใหม่สำหรับสิ่งนี้ในตอนนี้ดูข้อมูลจำเพาะ MIME-info ฐานข้อมูลที่แชร์สำหรับข้อมูลเพิ่มเติม ดังนั้นรูปแบบคีย์ (นามสกุลไฟล์ต่าง ๆ ที่เชื่อมโยงกับชนิด MIME) และ DefaultApp (แอปพลิเคชันเริ่มต้นที่เชื่อมโยงกับประเภท MIME นี้) ก็เลิกใช้เช่นกัน

ข้อมูลจำเพาะรายการเดสก์ทอปต้นทาง

นอกจากนี้คุณยังสามารถใช้สัญลักษณ์แทนประเภทละครใบ้ใน IIS แต่ควรที่จะไม่ทำเช่นนี้:

นอกจากนี้คุณยังสามารถกำหนดค่า IIS ให้บริการประเภทไฟล์ที่ไม่ได้กำหนดโดยการเพิ่มอักขระตัวแทน (*) ประเภท MIME

ห้ามใช้ไวด์การ์ด MIME-types บนเซิร์ฟเวอร์ที่ใช้งานจริง การทำเช่นนั้นอาจส่งผลให้ IIS ให้บริการไฟล์ที่ไม่รู้จักและแสดงข้อมูลที่ละเอียดอ่อนแก่ผู้ใช้

Wildcard MIME-types นั้นมีจุดประสงค์เพื่อการทดสอบหรือในสถานการณ์ที่ตัวกรอง Internet Server API (ISAPI) ได้รับการพัฒนาโดยเฉพาะเพื่อจัดการกับสถานการณ์ตัวแทนเหล่านี้ตัวอย่างเช่น ISAPI การรับรองความถูกต้องที่กำหนดเอง

แหล่งที่มาการสร้างประเภท MIME ทั่วโลก


อ่านเพิ่มเติม


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

2
@cipricus ไม่มีเดียว content-type/subtypeที่ครอบคลุมรูปแบบภาพ muliple
DavidPostill

@cipricus คำตอบอัปเดตเพื่อแสดงความคิดเห็นของคุณ
DavidPostill

ตามที่ระบุไว้ในความคิดเห็นภายใต้คำถามของฉันimage/*งานเพื่อวัตถุประสงค์ที่ระบุไว้ในคำถามของฉันแม้สำหรับsvgไฟล์ - MimeType=image/*นั่นคือเป็นรายการสก์ท็อปเช่น

มันอาจใช้งานได้ดี แต่ตามข้อกำหนดการเข้าใช้เดสก์ท็อป - " Type=MimeTypeถูกคัดค้านเนื่องจากมีมาตรฐานใหม่สำหรับสิ่งนี้ในตอนนี้ให้ดูข้อมูลจำเพาะของฐานข้อมูล MIME-info ที่ใช้ร่วมกันสำหรับข้อมูลเพิ่มเติม ประเภท MIME) และ DefaultApp (แอปพลิเคชันเริ่มต้นที่เชื่อมโยงกับประเภท MIME นี้) จะถูกคัดค้านด้วย "
DavidPostill

2

ตามคำตอบนี้ไม่มีประเภททั่วไป MIME ปัญหาคือว่าประเภท MIME เป็น allways ประกอบด้วยประเภทย่อยและพารามิเตอร์ตัวเลือก: Type/Subtype; Parameter(ดูที่นี่ ) คุณต้องการใช้ประเภท แต่ตามคำจำกัดความต้องมีประเภทย่อยและไม่มีประเภทย่อยทั่วไป รายชื่อของทุกประเภทของภาพที่สามารถพบได้ที่นี่


ผิดปกติรายการ "ทุกคน" ชนิดของภาพที่มีช่องว่างสำหรับการgifและjpegในขณะที่รายการนี้sitepoint.com/web-foundations/mime-types-complete-listแสดงให้เห็นว่าพวกเขาเป็นimage/gifและimage/jpegตามลำดับ
user664833
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.