为什么 Apache Tika 将 jar 文件的 mimetype 检测为 application/zip 而不是 application/java-archive?
Why Apache Tika detect mimetype of a jar file as application/zip instead of application/java-archive?
我正在尝试检测 jar 文件的 mime 类型,代码工作正常,但问题是 Apache Tika
returns 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 文件的 application/java-archive mime 类型。
有什么方法可以配置 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'
我正在尝试检测 jar 文件的 mime 类型,代码工作正常,但问题是 Apache Tika
returns 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 文件的 application/java-archive mime 类型。
有什么方法可以配置 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'