Мне просто интересно, как большинство людей выбирает тип mime из файла на Java?
blockquote>Я опубликовал свой пакет Java SimpleMagic Java, который позволяет определять тип содержимого (mime-type) из файлов и массивов байтов. Он предназначен для чтения и запуска файлов команд с файлами Unix (1), которые являются частью большинства конфигураций ОС Unix.
Я пробовал Apache Tika, но это огромный с тонны зависимостей,
URLConnection
не использует байты файлов, аMimetypesFileTypeMap
также просто ищет имена файлов.С помощью SimpleMagic вы можете сделать что-то вроде:
// create a magic utility using the internal magic file ContentInfoUtil util = new ContentInfoUtil(); // if you want to use a different config file(s), you can load them by hand: // ContentInfoUtil util = new ContentInfoUtil("/etc/magic"); ... ContentInfo info = util.findMatch("/tmp/upload.tmp"); // or ContentInfo info = util.findMatch(inputStream); // or ContentInfo info = util.findMatch(contentByteArray); // null if no match if (info != null) { String mimeType = info.getMimeType(); }