我需要确定文件是否属于给定的一组真实类型,我想知道最好的方法是什么.
基本上,我真的只需要检查PDF,图像和一些微软word文件类型.我听说过使用imagemagick和捕获异常来进行图像测试,但其他的呢?
有任何想法吗?
解决方法:
有一些方法可以获取MIME类型on this page here
前几个例子根据文件扩展名猜测MIME类型,正如它所说,更健壮的方法是使用Apache Tika framework,它支持many file types.
以下是使用Tika(在Groovy中)的示例:
// Grab tika and all its dependencies...
// takes a while on first run, as it pulls in LOADS of dependencies
@Grab( 'org.apache.tika:tika-core:0.9' )
@Grab( 'org.apache.tika:tika-parsers:0.9' )
import org.apache.tika.Tika
println( new Tika().detect( new File( 'tim.tiff' ) ) )
println( new Tika().detect( new File( 'tim.renamedtiff' ) ) )
那输出:
15:15:56 [tim_yates@mac] TikaTest $groovy test.groovy
image/tiff
image/tiff