Если вы хотите поддерживать только несколько типов изображений, вы можете начать с (вверх) загрузки изображения и в какой-то момент использовать первые несколько байтов, чтобы проверить, хотите ли вы продолжить загрузку.
Довольно много форматов изображений можно узнать по первым нескольким байтам, магическое число . Если число совпадает, вы, конечно, не знаете, является ли файл действительным, но его можно использовать для сопоставления с расширением, а магическое число для предотвращения действительно не соответствует вообще.
Взгляните на эту страницу , чтобы проверить некоторые Java, которые проверяют MIME-типы. Прочтите документацию или источник, чтобы проверить, требует ли какой-либо конкретный метод всего файла или может работать с первыми несколькими байтами. Я не использовал эти библиотеки:)
Также ознакомьтесь с этой страницей , на которой также перечислены некоторые библиотеки Java и некоторые документы, на которых основано обнаружение.
Не забудьте оставить отзыв, если вам удалось найти то, что вам нравится!