防止 IE 中止具有错误 Mime 类型的图像

Posted

技术标签:

【中文标题】防止 IE 中止具有错误 Mime 类型的图像【英文标题】:Prevent IE aborts Images With The Wrong Mime-Type 【发布时间】:2017-10-03 08:04:22 【问题描述】:

我有一张图片的网址

https://www.biossantibodies.com/image-raw/15986.jpg

如果我将其复制并粘贴回 Chrome / Firefox / Safari

它会自动下载并显示,但 IE 不这样做。

这是我在 IE 中看到的:

是因为IE aborts Images With The Wrong Mime-Type吗?


我尝试在/etc/nginx/mime.types 中调整添加这两行

image/jpeg                            jpeg;
image/jpg                             jpg;

我该如何绕过它?

更新

根据 @Manngo

的建议

我试过了

image/jpeg                            jpeg;
image/jpeg                            jpg;

然后重启我的 NGINX 服务器

service nginx restart
nginx stop/waiting
nginx start/running, process 1755

在 IE 中访问 URL (https://www.biossantibodies.com/image-raw/15986.jpg) 仍然看到相同的结果。

【问题讨论】:

没有image/jpg。即使使用.jpg 扩展名,它仍应为image/jpeg。只需将第二行更改为image/jpeg jpg; 第一image/jpeg jpeg; 第二个image/jpeg jpg; ??? 这是你建议的吗?或者 1 行就足够了? @保留两者。基本上,您所做的是将文件扩展名与 mime 类型匹配。如果您有 'junk 之类的扩展名,您也可以将其添加到列表中。 【参考方案1】:

没有image/jpg。即使使用.jpg 扩展名,它仍应为image/jpeg。只需将第二行更改如下:

image/jpeg  jpeg;
image/jpeg  jpg;

基本上,您所做的是将文件扩展名与 mime 类型匹配。如果您有诸如 .junk 之类的扩展名,您也可以将其添加到列表中,如果您想玩得开心的话:

image/jpeg  junk;

【讨论】:

我根据您的回答更新了我的帖子。我想知道我所看到的是否是无法绕过的 IE 的默认行为。你怎么看? 这很奇怪。您可以尝试以下方法吗: (a) 尝试在同一网站上使用不同的图像; (b) 清除缓存; (c) 尝试不同网站上的图像; (d) 尝试不同的计算机。我知道这很多,但这将有助于缩小问题的范围。 (e) 在同一网站上尝试png; (f) 将扩展名更改为.jpeg 您还有什么其他的建议吗? @ihue 六项测试的结果如何,尤其是png 一项? 图像仍然显示在 chrome 上,但不是 IE。不幸的是,我无法真正测试 .png,因为我们只处理 jpeg。其他建议将不胜感激!

以上是关于防止 IE 中止具有错误 Mime 类型的图像的主要内容,如果未能解决你的问题,请参考以下文章

PHP Image Uploader - IE "pjpeg" MIME 类型,不工作

资源解释为“其他”,但以未定义的 MIME 类型传输。 IE 错误(Asp.net 网站)

以错误的 MIME 类型传输的图像?

MEDIA12899:音频/视频:未知 MIME 类型:

不支持视频格式或 MIME 类型。 IIS 确实具有正确的 MIME 类型。

为啥 CSS 文件会以错误的 MIME 类型保存:text/troff?