# IE - 图片加载报错DOM7009
# 背景
在 IE 下把大尺寸(9000x13000像素,20M)的 PNG 图片渲染在 canvas 上的时候,有的 IE 上无法显示出来,控制台提示 DOM7009 unable to decode image at url
。
对于 DOM7009 ,找到几个可能的原因:
- 图片后缀名不正确,手动改过后缀,JPG -> PNG;
- 图片颜色编码,IE 不支持 CMYK(印刷色彩模式) 模式的图;
- IIS 服务器配置
<add name="X-Content-Type-Options" value="nosniff" />
,会阻止浏览器在请求的资源格式与预先设定的图片格式不匹配的请求。 - 图片太大;
针对这几种情况,我遇到的是,图片后缀正确,颜色编码 RGB ,本地服务加载的图片,20M的 JPG 可以显示。
推测应该是IE下内存不足导致的,因为使用 DEMO(只有选择图片然后预览) 进行测试的时候,发现还是可以渲染出来的。调整图片尺寸后 5000x7000像素后可以正常显示。所以只能暂时先对图片尺寸进行限制。
最后的最后,换了一台电脑上的 IE 可以正常显示。。。