Is there a way to find out the MIME type (or is it called "Content-Type"?) of a file in a Linux bash script?
The reason I need it is because ImageShack appears to need it to upload a file, as for some reason it detects the .png file as an
I’ve checked the file, and it really is a PNG image:
$ cat /1.png ?PNG (with a heap load of random characters)
This gives me the error:
$ curl -F "fileupload=@/1.png" http://www.imageshack.us/upload_api.php <links> <error id="wrong_file_type">Wrong file type detected for file 1.png:application/octet-stream</error> </links>
This works, but I need to specify a MIME-TYPE.
$ curl -F "fileupload=@/1.png;type=image/png" http://www.imageshack.us/upload_api.php
> file --mime-type image.png image.png: image/png > file -b --mime-type image.png image/png > file -i FILE_NAME image.png: image/png; charset=binary
one of the other tool (besides file) you can use is
xdg-mime query filetype <file>
if you have yum,
yum install xdg-utils.noarch
An example comparison of xdg-mime and file on a Subrip(subtitles) file
$ xdg-mime query filetype subtitles.srt application/x-subrip $ file --mime-type subtitles.srt subtitles.srt: text/plain
in the above file only show it as plain text.