我正在使用 Apache Tika 检测输入流的 MIME 类型 我想知道是否有现成的方法来检测这个文件是一个可执行文件,这里有一大堆可执行文件 mime 类型:
http://www.file-extensions.org/filetype/extension/name/program-executable-files
我想知道覆盖所有这些的最佳方法。
最佳答案
Apache Tika 的 mime 类型具有层次结构。因此,您不需要检查所有可能的可执行类型,您需要做的就是检查检测到的类型是否具有属于少数可执行伞型类型之一的父级
对于 Windows,主要的是 application/x-msdownload
。您可能还想检查 application/x-ms-installer
对于 Unix,主要的是 application/x-elf
,但您可能还想检查脚本格式,例如 application/x-sh
、text/x-perl
, text/x-python
等
至于如何从 Tika 中的 Mimetype 转到其父级,您需要 this existing answer here - "Correct use of Apache Tika MediaType" . (注意需要递归,以防检测到的mime类型和基础可执行父类型之间有多个层次)
关于java - 如何检测 mime 类型是否用于可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35569665/