我正在使用 apache tika 来检测音频和视频文件的 mime 类型。由于某种原因,tika 将 wma 文件(Microsoft 拥有的 Windows Media Audio 格式)的 mime 类型报告为 application/octet-stream。您知道在 java 中查找 mime 类型文件的更好方法吗?或者我可以使用 tika 本身来查询这些信息吗?
问问题
1787 次
2 回答
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 魔术检测。
于 2011-03-31T21:05:49.780 回答
0
根据 Microsoft 支持: http: //support.microsoft.com/kb/284094,WMA的 mime 类型应该是audio/x-ms-wma
. 根据: http: //kb.iu.edu/data/agtj.html mime-typeapplication/octet-stream
表示二进制文件。我不确定为什么 TIKA 无法识别正确的 mime 类型,但application/octet-stream
如果实际 mime 无法识别,它是返回的后备/备份策略。失败的原因可能有很多:
- 使用旧版本的库
- 或者库是新的,但文件类型比那个新
- 或者一些内部故障
查看以下链接以了解 Java 中的 mime 类型:
于 2011-02-11T03:25:23.213 回答