Mimetype --stdin 始终返回 text/plain

Mimetype --stdin 始终返回 text/plain

如果不依赖文件扩展名/inode 数据,我很难获取正确的 mimetype 信息。使用 magic 时,无论文件是什么,它都会返回 text/plain。

了解一些背景信息。

当我允许 linux mimetype 使用 glob 及其其他方法时,它可以正常工作。

mimetype mountain.jpg

mountain.jpg: 图像/jpeg

当我尝试让它与魔法检查一起工作时,因为我想真正确保这个文件是一个图像,它告诉我它是一个文本文件

mimetype -M mountain.jpg

mountain.jpg: 图像/jpeg

为了确保它不是文本文件,我将使用文件命令

file -i mountain.jpg

mountain.jpg: 图像/jpeg;字符集=二进制

如果我尝试以下操作之一,我现在只能获得 text/plain。

cat mountain_dew-400-400.jpg | mimetype -M --stdin

标准输入:文本/纯文本

tee mountain_dew-400-400.jpg | mimetype -M --stdin

标准输入:文本/纯文本

mimetype --stdin - < mountain_dew-400-400.jpg

标准输入:文本/纯文本

我已经运行以下命令

cpan install IO::Scalar
cpan install File::MimeInfo
cpan install File::MimeInfo::Magic

答案1

mimetype --stdin似乎根本不起作用。我已经提交了Debian 错误 #784545

作为一种解决方法,您可以使用file -i -而不是mimetype --stdin

相关内容