Любопытно, как лучше всего в Java получить mime-тип файла. Он должен действительно проверить файл, потому что имена файлов не являются точным индикатором.
В настоящее время я использую следующие, которые кажутся очень удачными или пропущенными
is = new BufferedInputStream(new FileInputStream(fileName));
String mimeType = URLConnection.guessContentTypeFromStream(is);
if(mimeType == null) {
throw new IOException("can't get mime type of image");
}