【问题标题】:Tika: MIME-Type detection of Js, CssTika:Js、Css 的 MIME 类型检测
【发布时间】:2012-10-20 16:31:02
【问题描述】:

我使用 Apache Tika 来提取各种文件的文本。现在我还想用它来检测文件的正确 MIME 类型。

这适用于例如...

  • PDF 文件 (application/pdf)
  • HTML 文件 (text/html)

...但不适用于:

  • CSS 文件(text/plain 而不是 text/css
  • Javascript 文件(text/plain 而不是 text/javascript
  • ...

(这些 Mime 类型的结果来自我的应用程序以及 tika-app)。

我的应用程序需要一个精确的 MIME 类型,例如 text/css,而不是一般的 text/plain。 Tika 可以做到这一点吗?

【问题讨论】:

  • 您是否将文件名作为提示提供给 Tika?
  • 是的,我的应用程序和 tika-app 使用 Metadata.RESOURCE_NAME_KEY 设置文件名。

标签: mime-types apache-tika


【解决方案1】:

你需要做两件事。首先,您需要向 Tika 提供文件名,以便它可以使用它来帮助将纯文本类型专门化为适当的子类型(CSS、JS 等)。其次,您需要确保您使用的是足够新的 Tika 版本。

我刚刚尝试了最新版本的 Tika,并通过传入文件名,它可以很好地检测 JS 和 CSS 文件:

$ java -jar tika-app-1.3-SNAPSHOT.jar --detect testCSS.css 
text/css

$ java -jar tika-app-1.3-SNAPSHOT.jar --detect testJS.js
application/javascript

此外,最新版本的 Tika(从 r1400795 开始)有一个单元测试,可以自动验证 JS 和 CSS 检测是否有效,因此您可以更加确信它可以正常工作!

【讨论】:

  • 好吧,你是对的,DefaultDetector 的输出是正确的,即使是旧版本 tika 1.2。我使用了AutoDetectParser,CSS 文件的内容类型似乎总是text/plain
猜你喜欢
  • 2011-12-01
  • 2012-04-11
  • 1970-01-01
  • 2015-10-05
  • 2010-10-13
  • 2016-05-20
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多