aws s3に画像を上げる時はcontent-typeを指定しましょうというメモ
小ネタ。
画像系サービスを作っていたら、ブラウザで以下のようなエラーが出てきた。
Resource interpreted as Image but transferred with MIME type binary/octet-stream: "https://url_of_s3"
s3に画像をアップロードしてwebページにそのurlを組み込んでいるのだけれど、mime typeがあっていないらしい。
chromeでは普通に見れているけど、他のブラウザだと問題起きたりする(?)かもしれないしとても気持ち悪い。
aws consoleで確認してもやっぱりmime-typeおかしい。
自動で判別してくれたり〜みたいなのは無いんですね、悲しい。
という事で、ちゃんとmime-typeを指定してuploadするようにしました。
aws-cli使っているので、以下の感じで。
aws s3api put-object --body XXX --key YYY --bucket XXX --content-type 'image/png'
無事なおって、エラーも消えました。
content-typeはoptionalだけど、なるべく付けた方が良さげ。