2012-07-11 22 views
5

2 obrazy w formacie JPG, które wyglądają dokładnie tak samo (błąd w obrazie powyżej, no.jpg, ponownie zapisano jako yes.png), ale nie jest to obraz zgodny z funkcją IsImageFile.ColdFusion IsImageFile kończy się niepowodzeniem w przypadku pliku jpg

uruchomić ten kod

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

Nie mogę teraz sprawdzić, ale czy jpg ma (problemową) odmianę "CMYK"? – Leigh

Odpowiedz

3

Myślę, że problemem jest to, że jest CMYK jpeg. ColdFusion 9 używa wewnętrznie, co afaik only supports RGB. (Podczas gdy niektóre sugestie java w tym wątku działają z ColdFusion - kolory w wynikowym obrazie są przekrzywione.) Prawdopodobnie dzieje się tak, żenie załaduje nawet pliku obrazu i dlatego IsImageFile zwraca "nie".

FWIW, IsImageFile zwraca "tak" w ColdFusion 10. Jednak nadal ma problemy z CMYK. Na przykład, jeśli spróbujesz odczytać obraz, ostateczne kolory są nieprawidłowe ...

Myślę, że najlepiej jest uruchomić go za pomocą narzędzia takiego jak ImageMagick i przekonwertować go do formatu, który ColdFusion może obsłużyć prawidłowo.

Powiązane problemy