Есть несколько методов для получения типа MIME на этой странице здесь
Первая пара примеров предполагает тип MIME на основе расширения файла и, как говорится, более надежныйметод будет использовать Apache Tika Framework , который поддерживает много типов файлов .
Вот пример использования 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