Audio getExtension for mimetype";音频/wav“;使用ApacheTika返回空字符串

Audio getExtension for mimetype";音频/wav“;使用ApacheTika返回空字符串,audio,wav,apache-tika,Audio,Wav,Apache Tika,我正在尝试获取有效的“audio/wav”mime类型的文件扩展名 使用此代码 MimeTypes mimeTypes = TikaConfig.getDefaultConfig().getMimeRepository(); String extension = mimeTypes.getDefaultMimeTypes().forName("audio/wav").getExtension(); 我得到的扩展名是空字符串 但是,使用“audio/x-wav”扩展可以工作 这是预期的行

我正在尝试获取有效的“audio/wav”mime类型的文件扩展名

使用此代码

MimeTypes mimeTypes = TikaConfig.getDefaultConfig().getMimeRepository();
    String extension = mimeTypes.getDefaultMimeTypes().forName("audio/wav").getExtension();
我得到的扩展名是空字符串

但是,使用“audio/x-wav”扩展可以工作


这是预期的行为吗;DR
是的,这是预期的行为


x-
MIME子类型通常用于尚未标准化的格式。与WAV格式相对应的MIME类型有
音频/vnd.wave
音频/WAV
音频/wave
音频/x-WAV
(请参阅)。有些浏览器或多或少接受MIME类型。Apache服务器通常以
x-WAV
的形式发送WAV,尽管我不知道为什么

官方的MIME类型现在是
audio/vnd.wave
,所以您可以试试看它是否有效


资料来源:TL;DR
是的,这是预期的行为


x-
MIME子类型通常用于尚未标准化的格式。与WAV格式相对应的MIME类型有
音频/vnd.wave
音频/WAV
音频/wave
音频/x-WAV
(请参阅)。有些浏览器或多或少接受MIME类型。Apache服务器通常以
x-WAV
的形式发送WAV,尽管我不知道为什么

官方的MIME类型现在是
audio/vnd.wave
,所以您可以试试看它是否有效


来源:

这是旧版Tika中的一个bug

您需要使用更新版本的ApacheTika来获得正确的行为。(1.15.1或1.16应该这样做)。取自
tika解析器/src/test/java/org/apache/tika/mime/TestMimeTypes.java
单元测试:

assertType("audio/vnd.wave", "testWAV.wav");
(该单元测试验证官方mime类型是否为检测到的类型,其他别名(如
audio/wav
)通常会透明地映射到规范的别名上)


或者,如果你被旧的Tika版本卡住了,你基本上可以换掉它,但是如果你在旧的Tika版本中换掉它,最好重新运行单元测试,以确保你在这个过程中没有破坏任何东西

这是旧版Tika中的一个bug

您需要使用更新版本的ApacheTika来获得正确的行为。(1.15.1或1.16应该这样做)。取自
tika解析器/src/test/java/org/apache/tika/mime/TestMimeTypes.java
单元测试:

assertType("audio/vnd.wave", "testWAV.wav");
(该单元测试验证官方mime类型是否为检测到的类型,其他别名(如
audio/wav
)通常会透明地映射到规范的别名上)


或者,如果你被旧的Tika版本卡住了,你基本上可以换掉它,但是如果你在旧的Tika版本中换掉它,最好重新运行单元测试,以确保你在这个过程中没有破坏任何东西

不幸的是,与
vnd.wave的行为相同。我想我得潜得更深一点。。。非常感谢!在这种情况下,只需使用
x-wav
。不幸的是,Apache通常使用
x-wav
vnd.wave
相同的行为。我想我得潜得更深一点。。。非常感谢!在这种情况下,只需使用
x-wav
。同样,Apache通常使用
x-wav
谢谢!尽管我在任何maven repo上都找不到一个高于1.15的版本,用于
tika core
。有什么想法吗?等几天,下一个版本(包括bug修复)的发布过程刚刚开始!谢谢尽管我在任何maven repo上都找不到一个高于1.15的版本,用于
tika core
。有什么想法吗?等几天,下一个版本(包括bug修复)的发布过程刚刚开始!