2012-07-11 14 views
5

2 imágenes de jpg que se ven exactamente iguales (imagen anómala anterior, no.jpg, guardada como yes.png) pero una no es una imagen según la función IsImageFile.ColdFusion IsImageFile falla para el archivo jpg

Ejecutar este código

#IsImageFile("http://fdiapp.com/ini/cms/file_uploads/yes.jpg")# 
** 
#IsImageFile("http://fdiapp.com/ini/cms/file_uploads/no.jpg")# 
+0

No puedo verificarlo ahora, pero ¿hay alguna posibilidad de que el jpg sea de la (problemática) variedad 'CMYK'? – Leigh

Respuesta

3

creo que el problema es que es un jpeg CMYK. ColdFusion 9 utiliza ImageIO internamente, que afaik only supports RGB. (Aunque algunas de las sugerencias de Java en ese hilo funcionan desde ColdFusion, los colores en la imagen resultante están sesgados). Lo que probablemente está sucediendo es que ImageIO falla al cargar el archivo de imagen y es por eso que IsImageFile devuelve "no".

FWIW, IsImageFile devuelve "sí" en ColdFusion 10. Sin embargo, todavía tiene problemas con CMYK. Por ejemplo, si intenta leer la imagen, los colores finales son todos incorrectos ...

Creo que su mejor opción es ejecutarlo a través de una herramienta como ImageMagick y convertirlo a un formato que ColdFusion pueda manejar correctamente.

Cuestiones relacionadas