2013-06-27 163 views
1

我們的項目有一個使用Java的圖像上傳模塊。在上傳圖片時,如果用戶上傳了帶有jpg/jpeg/gif/png等擴展名的圖片,無論擴展名是什麼,我們都會通過更改名稱來保存相同的擴展名。找出圖像的擴展名,如果該圖像沒有任何擴展名

但這是一個小問題。假設用戶手動刪除該圖像的擴展名(當然,它從來不會發生,但讓我們以此爲例)並上傳文件,但沒有任何擴展名。

有沒有什麼方法可以在讀取圖像後找到擴展名/格式(就像在使用getBufferedImage()讀取圖像之後)?

這裏我不能使用mimeType,因爲我們正在上傳圖片本身時從用戶處獲取MIME類型。通過選擇mimeType作爲"image/jpeg",用戶可以上傳沒有擴展名的圖像。

+0

看到這個問題/答案:http://stackoverflow.com/questions/51438/getting-a-files-mime-type-in​​-java – Keith

+0

看看apache tika –

+0

你可以通過檢查來識別大多數文件類型幻數:https://en.wikipedia.org/wiki/Magic_number_(programming) – Durandal

回答