Я с трудом получаю правильную информацию о MIME-типе, не опираясь на данные о расширении / inode-файле. При использовании магии он всегда возвращается с text / plain независимо от того, что это за файл.
Для получения справочной информации.
Когда я разрешаю linux mimetype использовать glob и другие методы, он работает правильно.
mimetype mountain.jpg
mountain.jpg: изображение / JPEG
Когда я пытаюсь заставить его работать с магической проверкой, потому что я действительно хочу убедиться, что этот файл является изображением, он говорит мне, что это текстовый файл.
mimetype -M mountain.jpg
mountain.jpg: изображение / JPEG
Чтобы убедиться, что это не текстовый файл, я буду использовать команду file
file -i mountain.jpg
mountain.jpg: изображение / JPEG; кодировка = двоичная
Если я попробую одно из следующего, я теперь смогу получить только текст / обычный текст.
cat mountain_dew-400-400.jpg | mimetype -M --stdin
STDIN: текст / обычный
tee mountain_dew-400-400.jpg | mimetype -M --stdin
STDIN: текст / обычный
mimetype --stdin - < mountain_dew-400-400.jpg
STDIN: текст / обычный
Я уже выполнил следующие команды
cpan install IO::Scalar
cpan install File::MimeInfo
cpan install File::MimeInfo::Magic