我正在使用apache tika来检测mime类型的音频和视频文件。出于某种原因,tika将wma文件的mime类型(Microsoft拥有的Windows Media Audio格式)报告为application / octet-stream。你知道在java中找到mime类型文件的更好方法吗?或者我可以使用tika本身查询此信息吗?
答案 0 :(得分:1)
如果为他们提供文件名,Tika应该能够检测到文件,例如
Metadata m = new Metadata();
m.add(Metadata.RESOURCE_NAME_KEY, filename);
detector.detect(stream, m);
我已经打开https://issues.apache.org/jira/browse/TIKA-629来跟踪缺少mime魔法检测功能,如果你没有文件名。
答案 1 :(得分:0)
根据Microsoft支持:http://support.microsoft.com/kb/284094,WMA的mime类型应为audio/x-ms-wma
。
根据:http://kb.iu.edu/data/agtj.html,mime-type application/octet-stream
表示二进制文件。我不确定为什么TIKA无法识别正确的mime类型,但如果实际的mime无法识别则返回application/octet-stream
是后备/备份策略。失败的原因可能很多:
查看下面的链接,找出Java中的mime-types: