Estou tendo dificuldade em obter as informações corretas do tipo MIME sem recorrer à extensão do arquivo/dados do inode. Ao usar magia, ele retorna com texto/simples sempre, independentemente de qual seja o arquivo.
Para obter algumas informações básicas.
Quando eu permito que o linux mimetype use glob e seus outros métodos, ele funciona corretamente.
mimetype mountain.jpg
montanha.jpg: image/jpeg
Quando tento fazer com que funcione com verificação mágica, porque quero realmente ter certeza de que este arquivo é uma imagem, ele me diz que é um arquivo de texto
mimetype -M mountain.jpg
montanha.jpg: image/jpeg
Para ter certeza de que não é um arquivo de texto, usarei o comando file
file -i mountain.jpg
montanha.jpg: imagem/jpeg; conjunto de caracteres=binário
Se eu tentar uma das opções a seguir, agora só poderei obter texto/simples.
cat mountain_dew-400-400.jpg | mimetype -M --stdin
STDIN: texto/simples
tee mountain_dew-400-400.jpg | mimetype -M --stdin
STDIN: texto/simples
mimetype --stdin - < mountain_dew-400-400.jpg
STDIN: texto/simples
Já executei os seguintes comandos
cpan install IO::Scalar
cpan install File::MimeInfo
cpan install File::MimeInfo::Magic
Responder1
mimetype --stdin
não parece funcionar de todo. eu envieiBug do Debian #784545.
Como solução alternativa, você pode usar file -i -
em vez de mimetype --stdin
.