Estoy teniendo dificultades para obtener la información correcta del tipo MIME sin transmitir la extensión del archivo/datos de inodo. Cuando se usa magia, regresa con texto/sin formato siempre, independientemente de cuál sea el archivo.
Para obtener información general.
Cuando permito que Linux mimetype use glob y sus otros métodos, funciona correctamente.
mimetype mountain.jpg
montaña.jpg: imagen/jpeg
Cuando intento que funcione con comprobación mágica porque realmente quiero asegurarme de que este archivo sea una imagen, me dice que es un archivo de texto.
mimetype -M mountain.jpg
montaña.jpg: imagen/jpeg
Para asegurarme de que no sea un archivo de texto, usaré el comando de archivo
file -i mountain.jpg
montaña.jpg: imagen/jpeg; juego de caracteres=binario
Si intento uno de los siguientes, ahora solo podré obtener texto sin formato.
cat mountain_dew-400-400.jpg | mimetype -M --stdin
STDIN: texto/sin formato
tee mountain_dew-400-400.jpg | mimetype -M --stdin
STDIN: texto/sin formato
mimetype --stdin - < mountain_dew-400-400.jpg
STDIN: texto/sin formato
Ya ejecuté los siguientes comandos
cpan install IO::Scalar
cpan install File::MimeInfo
cpan install File::MimeInfo::Magic
Respuesta1
mimetype --stdin
no parece funcionar en absoluto. he enviadoError #784545 de Debian.
Como solución alternativa, puede utilizar file -i -
en lugar de mimetype --stdin
.