我很難在不依賴檔案副檔名/索引節點資料的情況下獲得正確的 mimetype 資訊。當使用 magic 時,無論文件是什麼,它都會以文字/純文字傳回。
一些背景資訊。
當我允許 linux mimetype 使用 glob 及其其他方法時,它可以正常工作。
mimetype mountain.jpg
山.jpg:圖片/jpeg
當我嘗試讓它與魔術檢查一起工作時,因為我想真正確保這個文件是一個圖像,它告訴我它是一個文字文件
mimetype -M mountain.jpg
山.jpg:圖片/jpeg
為了確保它不是文字文件,我將使用 file 命令
file -i mountain.jpg
山.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
mimetype --stdin
似乎根本不起作用。我已提交Debian 錯誤 #784545。
作為解決方法,您可以使用file -i -
代替mimetype --stdin
.