Я с трудом получаю правильную информацию о 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

1 ответ1

2

mimetype --stdin не работает вообще. Я отправил сообщение об ошибке Debian # 784545.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .