MIME类型“ image / jpg”是否与“ image / jpeg”相同?


341

很简单的问题,但似乎无法在网上找到它。我正在尝试制作一个程序,该程序根据文件类型为我提供扩展名。


10
AFAIK只有类型“ image / jpeg” freeformatter.com/mime-types-list.html#mime-types-list
Dale


那一定是深夜的混乱吧。我将尝试使用“ image / jpeg”。
Joe Scotto

Answers:


493

不,image/jpg与并不相同image/jpeg,仅image/jpeg被识别为JPEG文件的实际mime类型。

https://tools.ietf.org/html/rfc3745https://www.w3.org/Graphics/JPEG/

image/jpg向IE 提供不正确的Content-Type 可能会导致问题,请参阅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 '17

40
仅图片/ jpeg
James Bone

造成此问题的主要问题是Safari会在“预览”中而不是在浏览器窗口中打开图像链接,因为它认为这是未知的图像类型(从技术上来说是这样)。
彼得·弗林

16

对于那些可能会有所帮助的应用程序,当我必须在应用程序上处理图像时,可以使用此列表作为定义内容类型的参考。

它说jpg扩展名可以用 Content-type : image/jpeg

image/jpg内容类型没有任何属性。


7

tl; dr ,“标准”是一堆杂乱无章的杂物;这取决于你问谁!

总体而言,似乎没有MIME类型image/jpg。但是,实际上,几乎所有软件都可以处理名为“ *.jpg”的图像文件。
该特定主题令人困惑,因为与MIME类型相关联的文件扩展名的不同关联取决于哪个组织创建了MIME类型的文件扩展名表。换句话说,文件扩展名.jpg可能有很多不同之处。

例如,这是三个“完整列表”和一个RFC,它们围绕各种JPEG图像格式文件扩展名和相关的MIME类型而变化。

  • sitepoint.com mime-types-complete-list已存档
    • .jfif.jfif-tbnl.jpe.jpeg.jpgimage/jpeg
    • .jfif.jpe.jpeg.jpgimage/pjpeg
  • freeformatter.com MIME类型已归档
    • .jpeg.jpgimage/jpeg
    • .jpeg.jpgimage/x-citrix-jpeg
    • .pjpegimage/pjpeg
  • IANA“媒体类型”(以前称为MIME类型)列表(已存档
    (此文档列出了“ 名称”,而不是“ 文件扩展名 ”)
    • jpg 没有提到
    • jpeg→请参阅RFC 2045(没有提及),请参阅RFC 2046image/jpeg13
    • JPEGvideo/JPEG
    • jpeg2000video/jpeg2000
    • jpmimage/jpmJPEG 2000
    • jpximage/jpxJPEG 2000
    • vnd.sealedmedia.softseal.jpgimage/vnd.sealedmedia.softseal.jpg
  • JPEG 2000的 RFC 3745 MIME类型注册(ISO / IEC 15444)
    • .jpg 没有提到文件扩展名
    • .jpeg 没有提到文件扩展名
    • .jp2.jpg2image/jp2JPEG 20009
    • .jpf.jpximage/jpxJPEG 2000 ISO-JPEG2000-2编码的图像数据10
    • .mj2.mjp2video/mj2Motion JPEG 200011
    • .jpm.jpgmimage/jpmJPEG 2000配置文件和扩展名12

这些“完整列表”和RFC没有MIME类型image/jpg!但是对于MIME类型image/jpeg某些列表确实具有不同的文件扩展名(.jpeg.jpg,...)。其他列表未提及image/jpeg
另外,存在不同类型的JPEG图像格式(例如,渐进式JPEG图像格式JPEG 2000等)和“ JPEG扩展名”,它们在文件扩展名和声明的MIME类型中可能重叠也可能不重叠。
另一个令人困惑的事情是,RFC 3745似乎与IANA媒体类型不匹配,但是RFC 3745 应该通知IANA媒体类型文档。例如,在RFC 3745中 .jpf是的首选文件扩展名,image/jpx但在IANA媒体类型中,名称jpf不存在(并且IANA文档引用RFC 3745!)。
另一个令人困惑的事情是IANA媒体类型列出了“名称”,但没有列出“文件扩展名”。这是有目的的,但是使将文件扩展名映射到MIME类型的工作变得混乱。
另一个令人困惑的事情是:“ mime ”,“ MIME ”,“ MIME类型 ”,“ mime类型 ”,“ mime / 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类型的列表,尽管没有什么阻止您组成自己的Mime,只要您同时处于发送状态即可和接收端。这是Microsoft出现的地方。

造成混乱的地方是,操作系统通过使用文件名的尾端(称为扩展名)来标识文件类型。在现代操作系统中,整个名称是一个长字符串,但在更原始的操作系统中,它被视为单独的属性。

引起混乱的操作系统是MSDOS,它已将扩展名限制为3个字符。直到今天,这种限制已经在仍以相同方式存储数据的设备(例如SD卡)中继承。

此限制的副作用是某些文件扩展名(例如.gif匹配其Mime Type)image/gif,而其他文件扩展名则受到了损害。这包括image/jpeg其扩展名缩短为.jpg。即使在解除限制的现代Windows中,Microsoft也永远不会过去,因此文件扩展名仍然是简化版本。

鉴于此:

  1. 文件扩展名不是文件类型
  2. 从历史上看,某些操作系统存在严重的文件名限制
  3. 某些操作系统只会继续制定自己的规则

简短的答案是:

  • 从技术上讲,没有这样的东西image/jpg,因此答案是它与image/jpeg
  • 这不会阻止某些操作系统和软件将其视为相同

当我们在这里……

旧版Internet Explorer可以自由上传jpegMime Type为的文件image/pjpeg,这当然意味着其他人需要做更多的工作。他们还将png文件上传为image/x-png


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.