IE6-无法加载普通的JPG
尝试在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文件?
解决方案
回答
其他应用程序可能会将自己注册为具有特定扩展名的文件的处理程序。 Quicktime倾向于(或者至少曾经)对.png文件执行此操作,因此.png文件将在HTML页面中很好地显示内联,但是如果URL直接指向.png文件,IE将立即委派所有责任处理文件到Quicktime。
可能这是.jpg文件正在发生的事情吗?我们遇到的只是这个.jpg文件吗?
回答
也许与此有关:http://photo.net/bboard/q-and-a-fetch-msg?msg_id=003j8d
回答
它不会在我的Vista x64盒子上的IE7中加载。 Paint.net也不会保存文件,并说"保存文件时发生了未指定的错误"。
编辑:
在paint.net中,我执行了"全选","新文件","粘贴","保存",现在工作正常。我猜该文件有些奇怪的损坏。
回答
该文件可能不是完全有效的JPG和IE6 / 7/8(我在IE8上进行了测试,因此不会加载)。其他浏览器更具防御性,可以加载它,但也许IE团队选择不加载它,因为它可能以导致安全漏洞的方式无效。
正如Ryan Fox所说,请在编辑器中将其打开并重新保存...如果图像来自编辑器,则不要再使用该编辑器。
编辑:我打开了它的Paint Shop Pro,它有一个未知的调色板,所以不得不转换它……也许就是问题所在。我们可以将其作为错误报告给IE团队,然后看看他们怎么说。
回答
我们上载的JPG格式为CMYK,IE和Firefox,之前3个版本无法读取。使用Photoshop(或者类似的工具,我相信GIMP也可以)将其打开,然后将其重新保存为RGB。
编辑:进一步的谷歌搜索使我怀疑CMYK并不是jpeg标准的真正组成部分,但可以在其中使用。这就是为什么某些软件认为该文件无效的原因。但是,它确实可以在Photoshop CS3中很好地打开,并显示cmyk色彩空间。
回答
我们可以使用jpeginfo来确定jpeg文件是否正常。
$jpeginfo -c blackout_thumb.jpg blackout_thumb.jpg 240 x 240 32bit Exif N 595116 Unsupported color conversion request [ERROR]
在情况下,文件已损坏,这说明了为什么某些浏览器无法显示该文件。