2011-02-10 63 views
1

我使用apache tika檢測mime類型的音頻和視頻文件。由於某些原因,tika將wma文件的類型(Microsoft擁有的Windows Media Audio格式)報告爲application/octet-stream。你知道一個更好的方法來找到在Java中的MIME類型的文件?或者我可以使用tika自己來查詢這些信息嗎?使用java查找mime類型的wma文件

回答

0

根據微軟支持:http://support.microsoft.com/kb/284094,mime類型的WMA應該是audio/x-ms-wma。 根據:http://kb.iu.edu/data/agtj.html mime類型application/octet-stream表示二進制文件。我不確定爲什麼TIKA不能識別適當的MIME類型,但如果實際MIME不可識別,則它是回退/備份策略返回application/octet-stream。失敗的原因可能是多方面的:

  1. 使用圖書館
  2. 的舊版本或圖書館是新的,但文件類型比
  3. 或者一些內部故障

有較新一起來看看下面的鏈接,在Java中找出MIME類型:

  1. Getting A File's Mime Type In Java
  2. http://www.rgagnon.com/javadetails/java-0487.html
1

提卡應該可以,如果您爲他們的文件名來檢測文件,如

Metadata m = new Metadata(); 
m.add(Metadata.RESOURCE_NAME_KEY, filename); 
detector.detect(stream, m); 

我已經打開https://issues.apache.org/jira/browse/TIKA-629以跟蹤如果您還沒有缺少MIME魔力檢測沒有文件名。

+0

原來這是一個相當簡單的固定,所以至於r1087450,Tika現在應該也能夠進行MIME魔法檢測了。 – Gagravarr