getExtension for mimetype“audio/wav”使用apache返回空字符串tika
问题描述:
我试图获取有效的“audio/wav”mime类型的文件扩展名。getExtension for mimetype“audio/wav”使用apache返回空字符串tika
使用此代码
MimeTypes mimeTypes = TikaConfig.getDefaultConfig().getMimeRepository();
String extension = mimeTypes.getDefaultMimeTypes().forName("audio/wav").getExtension();
扩展我得到的是空字符串。
但是,使用“audio/x -wav”扩展工作。
这是预期的行为?
答
这是在旧版本的Tika的错误。
您需要使用较新版本的Apache Tika才能获得正确的行为。 (1.15.1或1.16应该这样做)。如从tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
单元测试采取:
assertType("audio/vnd.wave", "testWAV.wav");
(即单元测试验证官方mime类型被检测到,其他别名等audio/wav
一般会被透明地映射到典型一个的那一个)
或者,如果你被困在一个旧的Tika版本中,你应该基本上可以换掉tika-mimetypes.xml
file for the latest version,但是如果你在一个更旧版本的Tika中交换它,最好重新运行单元测试以确保你避难在这个过程中不会破坏任何东西!
与'vnd.wave'相同的行为不幸。我必须在这里深入一点,我想......非常感谢! – guyman
在这种情况下,只需使用'x-wav'。再次,Apache通常使用'x-wav' – filaton