IE6 - 无法加载普通JPG

10

尝试在Internet Explorer 6.0中加载这个普通的 .jpg 文件,我会收到一个错误提示说图片无法加载。但在其他任何浏览器中都可以正常加载。问题出在哪里?这个 .jpg 文件只是一个放置在Web服务器上的普通图片而已。我甚至可以创建一个简单的网页:

<a href="http://www.zodiacwheels.com/images/wheels/blackout_thumb.jpg">blah</a>

如果我在IE6浏览器中右键单击并使用“另存为”将其保存到桌面,则它是一个有效的JPG文件。但是,它无法在浏览器中加载!

为什么?!

我甚至尝试检查头响应和MIME类型,看起来都没问题:

andy@debian:~$ telnet www.zodiacwheels.com 80
Trying 72.167.174.247...
Connected to zodiacwheels.com.
Escape character is '^]'.
HEAD /images/wheels/blackout_thumb.jpg HTTP/1.1
Host: www.zodiacwheels.com

HTTP/1.1 200 OK
Date: Wed, 20 Aug 2008 06:19:04 GMT
Server: Apache
Last-Modified: Wed, 20 Aug 2008 00:29:36 GMT
ETag: "1387402-914ac-48ab6570"
Accept-Ranges: bytes
Content-Length: 595116
Content-Type: image/jpeg

该网站需要能够与 IE6 兼容,为什么它加载不了一个简单的 .jpg 文件?

6个回答

29
您上传的JPG图片是CMYK格式的,IE和Firefox 3版本之前的浏览器无法读取此格式。请使用Photoshop(或类似软件,我相信GIMP也可以)打开它并以RGB格式重新保存。

编辑:进一步搜索使我怀疑CMYK实际上并不是JPEG标准的一部分,但是可以将其塞入其中。这就是为什么一些软件不认为该文件有效的原因。但是在Photoshop CS3中可以完全打开,并显示CMYK颜色空间。


2
我今天刚碰到这个。哇,我真的猜不到! - Josh
微软有没有确认这个消息? - Liam
1
这个答案刚刚为我节省了数小时的时间。 - cthom06

3

在我的Vista x64电脑上,IE7无法加载。同时,Paint.net无法保存文件,提示“保存文件时发生未指定错误。”

编辑:

在Paint.net中,我进行了全选、新建文件、粘贴、保存的操作,现在它可以正常工作了。我猜测该文件可能存在某些奇怪的损坏。


2

您可以使用jpeginfo来判断jpeg文件是否正常。

$jpeginfo -c blackout_thumb.jpg

blackout_thumb.jpg 240 x 240 32位 Exif N 595116 不支持的颜色转换请求 [错误]

在您的情况下,该文件已损坏,这就解释了为什么某些浏览器无法显示它。



1

这个文件可能不是完全有效的JPG格式,IE6/7/8(我在IE8上测试过,它无法加载)。其他浏览器会更有防御性并能够加载它,但也许IE团队选择不加载它,因为它可能以某种方式无效,导致安全漏洞。

正如Ryan Fox所说,用编辑器打开并重新保存它……如果这个图片来自一个编辑器,请不要再使用那个编辑器。

编辑:我在Paint Shop Pro中打开了它,它有一个未知的颜色调色板,所以必须转换它……也许这就是问题所在。你可以向IE团队报告它作为一个bug,并看看他们会说些什么。


0

其他应用程序可以注册自己作为特定扩展名文件的处理程序,所以 Quicktime 在处理 .png 文件时(至少曾经如此),会倾向于这样做。因此,在 HTML 页面中,.png 文件可以正常内联显示,但是如果有一个 URL 直接引用了该 .png 文件,IE 就会立即将所有处理该文件的责任委托给 Quicktime。

你的 .jpg 文件是否也是这种情况?你只遇到了这个 .jpg 文件的问题吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接