Apache Tika 2.8.0内容类型检测不一致问题咨询
原因分析
这种差异源于Tika内部针对不同格式设计的检测规则和优先级:
PDF检测逻辑:PDF有严格的魔数校验要求,文件开头必须是
%PDF-。Tika的PDF检测器会优先校验魔数,只要内容不匹配,即便文件名带.pdf扩展名,也会直接排除PDF类型,最终由文本检测器识别为纯文本。RTF检测逻辑:RTF的魔数
{\rtf并非所有RTF文件都必须具备,早期或简化的RTF可能仅包含纯文本。Tika的RTF检测器在魔数校验不通过时,会 fallback 到扩展名匹配——只要文件名带.rtf,就判定为application/rtf,认为这种场景下扩展名的可信度更高。
另外,仅引入tika-core依赖会限制检测能力:核心包中的PDF检测器逻辑更严谨,而RTF检测器仅实现了基础规则,没有扩展包中的增强校验逻辑,这也加剧了两者的行为差异。
内容的提问来源于stack exchange,提问作者dbp
相关产品推荐
相关产品推荐

