2011-09-14 94 views
1

Coldfusion 8,Apache,Mac OS X Server 10.5。ColdFusion無法識別TIFF MIME類型?

我有一個web應用程序,可以讓用戶上傳圖片。但是,它總是無法上傳TIFF文件。 JPEG,GIF和PNG上傳得很好,這個問題似乎只與TIFFs。

用戶通過表單中的cfinput標籤選擇要上傳的圖像。提交表單時,我嘗試使用cfimage標記重命名並移動文件。對於JPEG,PNG等,這是完美的,但如果圖像是TIFF,則會出錯:

「ColdFusion無法從指定的源文件創建圖像,請確保該文件是vaild圖像文件。」

接下來,我改變了cfimage標籤的CFFILE標籤嘗試不同的方法來重命名和移動上傳的圖片,但提供了錯誤:

「的MIME類型上傳文件的視頻/ X -ms-wm未被服務器接受,只能上傳image/*類型的文件。「

所以,似乎ColdFusion認爲TIFF是視頻。我一翻檢查/Applications/ColdFusion8/runtime/lib/mime.types,以及包含

圖像/ TIFF TIFF TIF

...就像它應該。爲什麼ColdFusion無法獲得TIFFs的MIME類型?

非常感謝!

+0

你檢查,看看是否視頻/ X-MS-WM是在那裏?我檢查了我的,而不是。 –

+0

關於cfimage錯誤 - 他們是多頁tiffs嗎?我不認爲cfimage支持這些。 – Leigh

回答

3

上傳文件的MIME類型由瀏覽器提供,意味着它不可靠。

您沒有提供任何代碼示例,但我猜你正在使用接受屬性在您的標記中。嘗試刪除它,看看事情是否按預期工作。

使用接受屬性不是確定文件是否屬於某種類型的可靠方式,因爲它是由瀏覽器提供的,它不可信。相反,您應該查看擴展名,如果您確實想要安全,請使用檢查實用程序檢查文件並確保它是擴展名所說的內容。

您可以在Pete Freitag的博客上閱讀更多關於他的信息。 http://www.petefreitag.com/item/701.cfm

1

CF 9 release notes

79685 CFIMAGE

On Mac OS X Snow Leopard, cfimage tag does not support TIFF images for read/write operation though getReadableImageFormats and getWriteableImageFormats list TIFF as a supported image format.