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

461
WojonsTech

Es fällt mir schwer, die richtigen Mimetype-Informationen zu erhalten, ohne die Dateierweiterung / Inode-Daten weiterzuleiten. Bei der Verwendung von Magie wird immer Text / Plain zurückgegeben, unabhängig davon, um welche Datei es sich handelt.

Für einige Hintergrundinformationen.

Wenn ich zulasse, dass linux mimetype glob und seine anderen Methoden verwendet, funktioniert es korrekt.

mimetype mountain.jpg

berg.jpg: image / jpeg

Wenn ich versuche, dass es mit der magischen Prüfung funktioniert, weil ich wirklich sicherstellen möchte, dass diese Datei ein Bild ist, sagt sie mir, es sei eine Textdatei

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 eines der folgenden probiere, kann ich nur noch Text / Plain erhalten.

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 
0
"inode / x-empty" klingt wie eine leere Datei. Fügen Sie Ihrer Frage die Ausgabe von "ls -l mountain.jpg" hinzu. user49740 vor 9 Jahren 0
@ user49740 fügte Fehler beim Kopieren und Einfügen hinzu, die zwar zu Problemen führten, aber dennoch den anderen Teil erhalten WojonsTech vor 9 Jahren 0
Ich sehe hier das gleiche Problem. Versuchen Sie `file -i -` anstelle von` mimetype --stdin`. user49740 vor 9 Jahren 1
Fehler, der der Debian-BTS gemeldet wurde: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784545 user49740 vor 9 Jahren 0
Vielen Dank, dass Sie einen Fehlerbericht eingereicht haben. auch file -i - scheint zu funktionieren Ich nahm an, dass es keine Pipe nahm, da sie nicht in der Manpage aufgeführt war. Wenn Sie die vollständige Antwort übermitteln möchten, gebe ich Ihnen Kredit WojonsTech vor 9 Jahren 0

1 Antwort auf die Frage

2
user49740

mimetype --stdinscheint überhaupt nicht zu funktionieren. Ich habe den Debian-Fehler Nr. 784545 eingereicht .

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