Mimetype --stdin всегда возвращает text/plain

Mimetype --stdin всегда возвращает text/plain

Мне трудно получить правильную информацию о mimetype без учета расширения файла / данных inode. При использовании magic он всегда возвращает text/plain независимо от того, какой файл.

Для получения дополнительной информации.

Когда я разрешаю mimetype linux использовать glob и другие его методы, все работает правильно.

mimetype mountain.jpg

гора.jpg: изображение/jpeg

Когда я пытаюсь заставить его работать с проверкой магии, потому что я действительно хочу убедиться, что этот файл является изображением, он сообщает мне, что это текстовый файл.

mimetype -M mountain.jpg

гора.jpg: изображение/jpeg

Чтобы убедиться, что это не текстовый файл, я воспользуюсь командой file

file -i mountain.jpg

гора.jpg: изображение/jpeg; кодировка=двоичная

Если я попробую сделать что-то из следующего, то теперь смогу получить только text/plain.

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

решение1

mimetype --stdinпохоже, вообще не работает. Я отправилОшибка Debian №784545.

В качестве обходного пути вы можете использовать file -i -вместо mimetype --stdin.

Связанный контент