2012-07-11 7 views
5

2 immagini jpg che sembrano esattamente uguali (immagine non riuscita sopra, no.jpg, resaved come yes.png) ma una non è un'immagine in base alla funzione IsImageFile.ColdFusion IsImageFile non riesce per il file jpg

eseguire questo codice

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

Non riesco a controllare adesso, ma qualsiasi possibilità che il jpg sia della (problematica) 'CMYK' varietà? – Leigh

risposta

3

Penso che il problema è che è un jpeg CMYK. ColdFusion 9 utilizza internamente lo ImageIO, che fornisce il only supports RGB. (Mentre alcuni dei suggerimenti Java in quel thread funzionano da ColdFusion - i colori nell'immagine risultante sono distorti). Quello che probabilmente sta accadendo è che ImageIO non riesce nemmeno a caricare il file immagine ed è per questo che IsImageFile restituisce "no".

FWIW, IsImageFile restituisce "sì" in ColdFusion 10. Tuttavia, ha ancora problemi con CMYK. Ad esempio, se provi a leggere l'immagine, i colori finali sono tutti sbagliati ...

Penso che la soluzione migliore è quella di eseguirlo attraverso uno strumento come ImageMagick e convertirlo in un formato che ColdFusion può gestire correttamente.

Problemi correlati