MIME类型'image/jpg'与'image/jpeg'相同吗?

Joe*_*tto 292 file mime-types

很简单的问题,但似乎无法在网上任何地方找到它.我正在尝试制作一个程序,根据文件类型将给我扩展.

Adr*_*ker 411

不,image/jpg不一样image/jpeg,只image/jpeg被识别为JPEG文件的实际mime类型.

https://tools.ietf.org/html/rfc3745,https://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.

  • 只有image/jpeg (27认同)
  • 我们应该在mime.types中放置什么?`image/jpeg jpeg jpg; image/jpg jpeg jpg;` (3认同)
  • 由此引起的主要问题是 Safari 会在预览中而不是在浏览器窗口中打开图像链接,因为它认为这是未知的图像类型(从技术上讲,确实如此)。 (2认同)

Jam*_*979 24

tl;博士 “标准”是大杂烩;这取决于你问谁!

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

例如,这里有三个“完整列表”和一个具有不同JPEG 图像格式文件扩展名和相关 MIME 类型的RFC 。

这些“完整列表”和 RFC 没有 MIME 类型image/jpg!但是对于 MIME 类型,image/jpeg某些列表确实具有不同的文件扩展名 ( .jpeg, .jpg, ...)。其他名单没有提及image/jpeg

此外,还有不同类型的JPEG 图像格式(例如渐进式 JPEG 图像格式JPEG 2000等)和“JPEG 扩展名”,它们可能会或可能不会在文件扩展名和声明的 MIME 类型上重叠。

另一个令人困惑的事情是RFC 3745似乎与IANA 媒体类型不匹配,但相同的 RFC 应该通知IANA 媒体类型文档。例如,在RFC 3745 中 .jpf是首选文件扩展名,image/jpx但在IANA 媒体类型中,该名称jpf不存在(并且该 IANA 文档引用了RFC 3745!)。

另一个令人困惑的事情是IANA 媒体类型列出了“名称”但没有列出“文件扩展名”。这是故意的,但混淆了将文件扩展名映射到 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 图像文件格式



相关问题“地球上所有 MimeType 的列表,映射到文件扩展名? ”。

  • 通常只有一个来源描述相关标准,而不是 4 个(!)。RFC 是一个很好的切入点! (2认同)

luc*_*sef 13

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

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

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


Man*_*ngo 7

这里要注意的重要一点是,MIME类型是一样的文件扩展名。然而,有时它们具有相同的值。

https://www.iana.org/assignments/media-types/media-types.xhtml包含已注册 Mime 类型的列表,尽管没有什么可以阻止您制作自己的 Mime 类型,只要您同时在发送和接收端。这就是微软介入的地方。

有很多混淆的地方在于,操作系统有自己的方式来识别文件类型,方法是使用文件名的尾端,称为扩展名。在现代操作系统中,整个名称是一个长字符串,但在更原始的操作系统中,它被视为一个单独的属性。

引起混乱的操作系统是 MSDOS,它将扩展名限制为 3 个字符。直到今天,SD 卡等设备仍然以相同的方式存储数据,因此这一限制仍然存在。

此限制的一个副作用是某些文件扩展名(例如.gif与其 Mime 类型匹配)image/gif,而其他文件扩展名会受到损害。这包括image/jpeg其扩展名为.jpg. 即使在解除限制的现代 Windows 中,Microsoft 也从未放过过去,因此文件扩展名仍然是缩短版本。

鉴于:

  1. 文件扩展名不是文件类型
  2. 历史上,一些操作系统有严重的文件名限制
  3. 一些操作系统会继续前进并制定自己的规则

简短的回答是:

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

当我们在做的时候……

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