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 --stdin
scheint überhaupt nicht zu funktionieren. Ich habe eingereichtDebian-Fehler #784545.
Als Workaround können Sie file -i -
anstelle von verwenden mimetype --stdin
.