1. ホーム
  2. linux

[解決済み] ファイルのMIMEタイプ(Content-Type)を調べるにはどうしたらよいですか?

2022-05-17 12:08:47

質問

Linux の bash スクリプトで、ファイルの MIME タイプ (または "Content-Type" と呼ばれるもの) を調べる方法はありますか?

私がそれを必要とする理由は、ImageShack がファイルをアップロードするためにそれを必要とするように見えるからです。 application/octet-stream ファイルとして検出されるからです。

ファイルを確認したところ、本当にPNG画像になっています。

$ cat /1.png 
?PNG
(with a heap load of random characters)

これでエラーになります。

$ 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>

これは動作しますが、MIME-TYPEを指定する必要があります。

$ curl -F "fileupload=@/1.png;type=image/png" http://www.imageshack.us/upload_api.php

どのように解決するのですか?

使用方法 file . 例

> 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