2017-03-17 85 views
1

目前我使用如何確定適當的MIME類型

MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap(); 
String mimeType = mimeTypesMap.getContentType(logAttachmentFile.getFilePath()); 

也能正常工作以.jpg例如,但大多數其他類型的文件返回爲application/octet-stream(.xls的,.DOCX或.png)從而使我無法顯示文件。有沒有辦法確定沒有第三方庫的正確文件類型?如果沒有,最好的選擇是什麼?

+1

Maintan另外還有你自己的映射,記錄未映射的類型。或者你也許可以檢查某個文件類型是否被某個應用程序註冊,很醜陋。 –

+0

[在Java中獲取文件的MIME類型](http://stackoverflow.com/questions/51438/getting-a-files-mime-type-in​​-java) – beat

回答

0

我相信不錯的選擇是Apache Tika。 它具有相當大的檢測格式範圍:http://tika.apache.org/1.16/formats.html

此外,它不僅使用文件的名稱,而且還使用它的字節(如果文件非常大,可以指定文件的某些前綴)。 你可以很容易地定製它。