【问题标题】:Why does IE7 specify a mime-type of image/pjpeg rather than just image/jpeg?为什么 IE7 指定一个 mime 类型的 image/pjpeg 而不仅仅是 image/jpeg?
【发布时间】:2010-09-12 01:21:43
【问题描述】:

当通过 IE7 中的表单上传文件 (jpeg) 时,我看到的 mime 类型为“image/pjpeg”而不是“image/jpeg”(就像我在 Firefox 或类似设备中看到的那样)。解决这个问题很容易,但我只是想知道为什么 IE7 在这种情况下表现不同?

【问题讨论】:

  • 我让访问者上传图片并测试它是否是可接受的类型,当然 pjpeg 不在我的 allowed_format_list 中,识别这个问题真的很痛苦。我在 IE 7 和 8 上看到过。

标签: internet-explorer-7 file-upload jpeg


【解决方案1】:

我相信这是因为您使用的 JPEG 是渐进式 JPEG,它具有不同的 mime 类型。

【讨论】:

  • 我认为它只是 image/jpeg 和 image/pjpeg(用于 JPEG)。我什至不确定使用“image/pjpeg”的 mime 是否是标准的,但是什么时候阻止了任何人? :)
  • IE7 有什么理由做出这种区分——而 FF 等没有?
  • 显然 IE 团队认为使用单独的 mime 类型已经足够不同了。但他们这样做可能是错误的:groups.google.com/group/comp.infosystems.www.authoring.images/…
  • 啊,这是因为(历史上)image/jpeg 作为一种 mime 类型在渐进式 JPEG 本身之前就已经存在,所以并非所有表示可以接受 image/jpeg 的浏览器都可以处理渐进式 JPEG。
【解决方案2】:

IE 可以将所有 .jpeg 文件作为其 hack MIME 类型“image/pjpeg”上传,无论它们是否实际上是渐进式的。

不要依赖文件上传中提供的 MIME 类型,因为包括这个在内的各种原因,它很有可能是错误的。

【讨论】:

【解决方案3】:

png也有同样的问题:

IE7:图片/x-png 普通浏览器:image/png

;)

【讨论】:

  • 这有点不同:x- 前缀被标准化为未注册 MIME 类型的命名空间,因此这并不违反标准。但是,它应该使用 image/png。
【解决方案4】:

因为微软喜欢违反标准。没有像 image/pjpeg 这样的 MIME 类型。你自己看: http://www.iana.org/assignments/media-types/media-types.xhtml#image

JPEG 的正确 MIME 类型是 image/jpeg,无论是否渐进。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-09-17
  • 2016-02-15
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多