前言
前几天做项目时,发现一个奇怪的现象,从后台获取的图片,在IE浏览器端,有一部分不会显示,仔细研究发现是图片本来是.jpg格式,后台传过来的图片后缀已经被改成了.png格式或者其它格式导致IE浏览器无法识别。
正文
我项目中现象如下图:
图片后缀名问题
图片后缀名和代码中不一致或者图片本来是.png格式自己手动更改成了.jpg或者其它格式导致IE浏览器无法识别。
图片颜色编码问题
图片可能是CMYK颜色,而IE浏览器不识别CMYK模式的图片,这时需要更改为RGB模式(可借助PS等软件)。
web.config配置问题
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Content-Type-Options" value="nosniff" />
</customHeaders>
</httpProtocol>
</system.webServer>
移除web.config文件中的<add name="X-Content-Type-Options" value="nosniff" />
这句话导致了图片在IE中不能正常显示。
图片过大,浏览器内存问题
本次所用图片实际像素大小高达300M,初步怀疑是这种情况。后来实测当像素高于3800x8608(像素大小93.6M)时(受浏览器占用内存影响,测试结果有所偏差3800±15),IE浏览器无法打开图片。 同样可以借助ps等软件处理图片。
ps:ps的批处理功能还是非常强大的。
结尾
遇到问题不能钻牛角尖,感觉我自己代码写错了。研究了一天,结果不是代码问题。。。。。。手动狗头、、