5

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")#
4

1 回答 1

3

我认为问题在于这是一个CMYKjpeg。ColdFusion 9ImageIO内部使用,afaik仅支持 RGB。(虽然该线程中的一些 java 建议确实可以从 ColdFusion 工作 - 结果图像中的颜色是倾斜的。)可能发生的情况是ImageIO甚至无法加载图像文件,这就是为什么IsImageFile返回“否”。

FWIW,IsImageFile在 ColdFusion 10 中返回“是”。但是,它仍然存在CMYK. 例如,如果您尝试阅读图像,最终的颜色都是错误的......

我认为最好的办法是通过ImageMagick之类的工具运行它,并将其转换为 ColdFusion 可以正确处理的格式。

于 2012-09-07T01:22:31.050 回答