2张看起来完全一样的jpg图像(上面的失败图像,no.jpg,重新保存为yes.png)但根据IsImageFile函数,一张不是Image。
运行此代码
#IsImageFile("http://fdiapp.com/ini/cms/file_uploads/yes.jpg")#
**
#IsImageFile("http://fdiapp.com/ini/cms/file_uploads/no.jpg")#
2张看起来完全一样的jpg图像(上面的失败图像,no.jpg,重新保存为yes.png)但根据IsImageFile函数,一张不是Image。
运行此代码
#IsImageFile("http://fdiapp.com/ini/cms/file_uploads/yes.jpg")#
**
#IsImageFile("http://fdiapp.com/ini/cms/file_uploads/no.jpg")#
我认为问题在于这是一个CMYK
jpeg。ColdFusion 9ImageIO
内部使用,afaik仅支持 RGB。(虽然该线程中的一些 java 建议确实可以从 ColdFusion 工作 - 结果图像中的颜色是倾斜的。)可能发生的情况是ImageIO
甚至无法加载图像文件,这就是为什么IsImageFile
返回“否”。
FWIW,IsImageFile
在 ColdFusion 10 中返回“是”。但是,它仍然存在CMYK
. 例如,如果您尝试阅读图像,最终的颜色都是错误的......
我认为最好的办法是通过ImageMagick之类的工具运行它,并将其转换为 ColdFusion 可以正确处理的格式。