2012-07-11 44 views
5

2 hình ảnh jpg giống hệt nhau (không hình ảnh ở trên, no.jpg, được lưu lại dưới dạng yes.png) nhưng không phải là Hình ảnh theo chức năng IsImageFile.ColdFusion IsImageFile không thành công đối với tệp jpg

Run mã này

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

Tôi không thể kiểm tra ngay bây giờ, nhưng bất kỳ cơ hội nào của jpg thuộc giống CMYK' (có vấn đề)? – Leigh

Trả lời

3

Tôi nghĩ vấn đề là đó là một jpeg CMYK. ColdFusion 9 sử dụng ImageIO nội bộ, trong đó afaik only supports RGB. (Trong khi một số gợi ý java trong chuỗi đó hoạt động từ ColdFusion - màu sắc trong ảnh kết quả bị lệch.) Điều có thể xảy ra là ImageIO không tải được tệp hình ảnh và đó là lý do tại sao IsImageFile trả về "không".

FWIW, IsImageFile trả về "có" trong Coldfusion 10. Tuy nhiên, vẫn gặp sự cố với CMYK. Ví dụ: nếu bạn thử và đọc hình ảnh, các màu cuối cùng đều sai ...

Tôi nghĩ đặt cược tốt nhất của bạn là chạy nó qua một công cụ như ImageMagick và chuyển đổi sang định dạng ColdFusion có thể xử lý đúng cách.

Các vấn đề liên quan