Estimate if file is MIME type

前端 未结 3 515
执念已碎
执念已碎 2021-01-12 10:47

This method should be check if a file is MIME type. To achieve this goal I am using method probeContentType().
However maybe is another way to decide same question. Whic

3条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-12 11:01

    There are 2 approaches for getting a file mime type:

    1. Identifying by the file's magic number - this is a reliable approach but it requires reading information from the file
    2. Guessing it by the file extension - this is a fast approach, but can be less accurate

    The following solution use the 1st approach:

    1. Apache Tika - a toolkit for detecting and extracting metadata and structured text content from various documents using existing parser libraries
    2. JMimeMagic - a Java library for determining the MIME type of files or streams
    3. mime-util - enable Java programs to detect MIME types based on file extensions, magic data and content sniffing

    The following solution use the 2nd approach:

    1. javax.activation.MimetypesFileTypeMap - this part of the JavaBeans Activation Framework. The MimetypesFileTypeMap looks in various places in the user's system for MIME types file entries.
    2. Using java.net.URL - mapping between the extension and the mime-type is defined in the file [jre_home]/lib/content-types.properties

    For some more information see this post

提交回复
热议问题