1
我們的項目有一個使用Java的圖像上傳模塊。在上傳圖片時,如果用戶上傳了帶有jpg/jpeg/gif/png等擴展名的圖片,無論擴展名是什麼,我們都會通過更改名稱來保存相同的擴展名。找出圖像的擴展名,如果該圖像沒有任何擴展名
但這是一個小問題。假設用戶手動刪除該圖像的擴展名(當然,它從來不會發生,但讓我們以此爲例)並上傳文件,但沒有任何擴展名。
有沒有什麼方法可以在讀取圖像後找到擴展名/格式(就像在使用getBufferedImage()
讀取圖像之後)?
這裏我不能使用mimeType
,因爲我們正在上傳圖片本身時從用戶處獲取MIME類型。通過選擇mimeType
作爲"image/jpeg"
,用戶可以上傳沒有擴展名的圖像。
看到這個問題/答案:http://stackoverflow.com/questions/51438/getting-a-files-mime-type-in-java – Keith
看看apache tika –
你可以通過檢查來識別大多數文件類型幻數:https://en.wikipedia.org/wiki/Magic_number_(programming) – Durandal