gpt4 book ai didi

java - 根据文件名检测内容类型

转载 作者:行者123 更新时间:2023-12-03 07:59:41 25 4
gpt4 key购买 nike

我正在尝试使用 Apache Tika 来确定内容类型(即 - .pdf 文件的 application/pdf)。我想使用 Apache Tika 的 org.apache.tika.detect.NameDetector 类。我的问题是它的检测方法只接受 InputStream。我无权访问文件的 InputStream。我只有文件名(即 - myFile.pdf)。

有没有什么好的方法可以使用 Apache Tika 仅根据文件的扩展名/名称来确定内容类型? (注意 - 我想避免创建一个具有所需名称的临时文件来确定它的内容类型。)

谢谢。

最佳答案

您可以使用正常的 Apache Tika Detector interface为 InputStream 传入 null,并提供文件名。

你的代码看起来像这样:

TikaConfig config = new TikaConfig();

Metadata metadata = new Metadata();
metadata.set(Metadata.RESOURCE_NAME_KEY, filename);
String mimetype = config.getDetector().detect(null, metadata);

为了进一步简化事情,如果您使用 Tika facade class你可以这样做:

Tika tika = new Tika();

String mimetype = tika.detect(filename);

然后你就会回来the mimetype guessed from the filename only

有关详细信息,请参阅 "Ways of triggering Detection" Apache Tika 网站上的文档。

关于java - 根据文件名检测内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22234339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com