2010-04-19 131 views
2

有沒有辦法在Flex SDK 3.5中獲取文件的MIME類型而不使用擴展名?Flex SDK 3.5 - 檢查文件MIME類型

我需要驗證上傳的文件是否屬於某種類型。這是用於圖像或文檔(PDF,ODT等)

我發現的所有解決方案都是通過檢查其擴展名。如果我將.odt文件重命名爲.jpg,該怎麼辦?然後我可以將它作爲圖像上傳...

我應該添加,我們使用的是一個AIR桌面客戶端和一個Java EE服務器。文件檢查是在Java方面解決的,但這個想法不是去服務器,驗證文件,所以如果文件無效,根本就沒有網絡流量。

回答

3

不是真的。文件沒有固有的MIME類型。在用於傳輸數據的互聯網協議(如HTTP,SMTP,RTP等)的頭部中描述了任意內容數據的MIME類型。

我唯一能想到的另一個解決方案就是使用一個反覆試驗過程,在這個過程中你猜測你正在處理的文件類型,然後通過實際打開該文件(在您的代碼中)並測試成功。但這很醜陋。

Steav,您的解決方案只是查看響應頭,可能沒有正確設置。

-1

最簡單的方法是使用PHP,如果可能的話:

$fileinfo['content-type']; 
+0

我們正在使用Flex和Java EE。服務器端檢查已完成,但我需要檢查Flex上的文件,因此我不會不必要地將它發送到服務器。 – 2010-04-19 17:26:39