【问题标题】:How to detect that mime type is for executable file?如何检测 mime 类型是否适用于可执行文件?
【发布时间】:2016-06-04 19:48:19
【问题描述】:

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

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

我想知道涵盖所有内容的最佳方法。

【问题讨论】:

    标签: java mime-types apache-tika


    【解决方案1】:

    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类型和基本可执行父类型之间存在多个级别)

    【讨论】:

      【解决方案2】:

      对于 microsoft windows,mime 类型是 application/x-msdownload。看看这个http://www.freeformatter.com/mime-types-list.html

      【讨论】:

      • ,我不想对可执行文件 mime 类型列表进行大量检查。
      猜你喜欢
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 2017-09-08
      • 2012-01-26
      • 2020-04-23
      • 2018-09-12
      • 2012-04-21
      相关资源
      最近更新 更多