我正在尝试检测一个jar文件的mime-type,代码工作正常,但问题是 Apache Tika
返回 application/zip
而不是 application/java-archive
对于一个java Jar
档案
我从html上传了 Jar文件
for (FileItem item : fileItems)
{
String mimeType;
try {
mimeType = tika.detect(item.getInputStream());
System.out.println(mimeType); // returns application/zip
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
所以我的问题是,如何为一个jar文件获取applicationjava-archive的mime-type。
有什么方法可以配置Apache Tika,还是我做错了什么?
感谢@Gagravarr,我能够解决这个问题。
所以我的代码是这样的
public static TikaConfig getTikaConfig() {
TikaConfig tikaConfig = null;
try {
return new TikaConfig();
} catch (TikaException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return tikaConfig;
}
public static final TikaConfig tikaConfig = getTikaConfig();
MediaType mediaType = tikaConfig.getDetector()
.detect(TikaInputStream
.get(item.getInputStream()), new Metadata());
MimeType mimeType = tikaConfig.getMimeRepository().forName(mediaType.toString());
String extension = mimeType.getExtension().split("\\.")[1];
System.out.println("File extention is :"+extension);
最重要的gralde配置
compile group: 'org.apache.tika', name: 'tika-core', version: '1.24.1'
runtime group: 'org.apache.tika', name: 'tika-parsers' version: '1.24.1'