我正在尝试使用apache tika找出文件的内容类型。
意味着我发现这种不一致的行为。
final Tika tika = new Tika();
String fileType = tika.detect(uploadedInputStream);
System.out.println(fileType);
String newFileType = tika.detect(uploadedInputStream);
System.out.println(newFileType);
上面的代码正在给我输出
application/pdf
application/octet-stream
我希望在两种情况下输出都为application/pdf
。
任何人都可以解释为什么会这样吗?我怎样才能得到预期的结果?
答案 0 :(得分:0)
当我按照评论中的建议在TikaInputStream中包装InputStream时,我可以看到问题已解决
final Tika tika = new Tika();
TikaInputStream tikaInputStream = TikaInputStream.get(uploadedInputStream);
String fileType = tika.detect(tikaInputStream);
System.out.println(fileType);
final Tika newTika = new Tika();
String newFileType = newTika.detect(tikaInputStream);
System.out.println(newFileType);
输出:
application/pdf
application/pdf