Mimetype --stdin gibt immer Text/Plain zurück.

Mimetype --stdin gibt immer Text/Plain zurück.

Ich habe Schwierigkeiten, die richtigen MIME-Typ-Informationen zu erhalten, ohne die Dateierweiterung/Inode-Daten zu verwenden. Bei Verwendung von Magic wird immer Text/Plain zurückgegeben, unabhängig davon, um welche Datei es sich handelt.

Für einige Hintergrundinformationen.

Wenn ich Linux-MIME-Typ erlaube, Glob und seine anderen Methoden zu verwenden, funktioniert es ordnungsgemäß.

mimetype mountain.jpg

berg.jpg: image/jpeg

Wenn ich versuche, es mit Magic Checking zum Laufen zu bringen, weil ich wirklich sicherstellen möchte, dass diese Datei ein Bild ist, wird mir gesagt, dass es eine Textdatei ist

mimetype -M mountain.jpg

berg.jpg: image/jpeg

Um sicherzustellen, dass es sich nicht um eine Textdatei handelt, verwende ich den Dateibefehl

file -i mountain.jpg

berg.jpg: image/jpeg; Zeichensatz=binär

Wenn ich eine der folgenden Möglichkeiten versuche, erhalte ich jetzt nur noch „Text/Plain“.

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

STDIN: Text/Plain

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

STDIN: Text/Plain

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

STDIN: Text/Plain

Ich habe bereits die folgenden Befehle ausgeführt

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

Antwort1

mimetype --stdinscheint überhaupt nicht zu funktionieren. Ich habe eingereichtDebian-Fehler #784545.

Als Workaround können Sie file -i -anstelle von verwenden mimetype --stdin.

verwandte Informationen