如何检测mime类型是否为可执行文件?

时间:2016-02-23 05:37:18

标签: java mime-types apache-tika

我正在使用apache tika来检测输入流的mime类型 我想知道是否有一个现成的方法来检测这个文件是一个可执行文件,这里有一个大的可执行文件mime类型列表:

http://www.file-extensions.org/filetype/extension/name/program-executable-files

我想知道最好的方法来覆盖它们。 请指教,谢谢。

2 个答案:

答案 0 :(得分:8)

Apache Tika的mime类型具有层次结构。因此,您不需要检查所有可能的可执行类型,您需要做的就是检查检测到的类型是否具有父项是少数可执行伞类型之一

对于Windows,主要的是application/x-msdownload。您可能还想检查application/x-ms-installer

对于Unix,主要的是application/x-elf,但您可能还想检查脚本格式,例如application/x-shtext/x-perltext/x-python等。

至于如何从Tika的Mimetype转到其父母,你需要this existing answer here - "Correct use of Apache Tika MediaType"。 (注意,如果检测到的mime类型和基本可执行父类型之间存在多个级别,则需要递归)

答案 1 :(得分:1)

对于微软窗口,mime类型为application/x-msdownload。看看这个http://www.freeformatter.com/mime-types-list.html