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