使用Tika获取MIME类型,包含文件的一部分

时间:2015-12-09 23:05:53

标签: apache-tika

Tika是否可以在不加载整个文件的情况下获取MIME类型或其他元数据?

我可以编写脚本来获得前1MB。我正在考虑这样做以取消Tika和我的服务器上的一些负载。

1 个答案:

答案 0 :(得分:0)

对于基于容器的格式,Apache Tika需要整个文件以确定类型。容器格式包括基于zip文件(Word .docx,OpenDocumentFormat .odf,iWorks等)的所有内容,基于OLE2格式的任何内容(Excel .xls,Hangul,MSI等),几乎所有的多媒体格式。您通常可以根据文件名和容器类型进行很好的猜测,但要确保您需要处理整个文件以识别内容,从而确定文件类型

对于其他一切,如果Tika可以检测到文件类型,那么只需要前几十KB,通常甚至只需要前几百个字节。 (取决于所讨论的格式 - 不同的格式在不同的地方有可预测的签名)

如果您不需要Tika的最佳检测猜测,但可以使用略低的确定性(特别是基于容器的格式),那么只需给Tika文件的开头即可。或者告诉Tika只使用mime魔法探测器而不使用任何特定于容器的探测器。