这是我直接相关的tika代码片段:
public String getMimeType(ByteArrayInputStream bais) {
TikaConfig tikaConfig = TikaConfig.getDefaultConfig();
Detector detector = tikaConfig.getDetector();
Metadata metadata = new Metadata();
try {
MediaType mediaType = detector.detect(TikaInputStream.get(bais), metadata);
String mimetype = mediaType.toString();
return mimetype;
} catch (IOException e) {
throw new DocumentException("Unable to find out MimeType ", e);
}
}
要致电getMimeType
:
String mimeType = getMimeType(new ByteArrayInputStream(content));
其中content
是文件的内容(仅内容)。
为了测试此代码,我发送了一个简单的xml格式的内容:
<settings>
<property>property value</property>
</settings>
但是,tika告诉我mimetype
是text/plain
。
有什么办法解决这个问题?
有什么想法吗?
我的依赖项:
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>1.18</version>
<exclusions>
<exclusion>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
</exclusion>
</exclusions>
</dependency>