boto3でHTMLをアップロードしてもHTMLとして認識しなかった


事象

awsをいじるためのライブラリ、boto3でアップロードしたHTMLにアクセスすると、ファイルダウンロードになってしまう。

解決方法

import boto3

s3 = boto3.resource('s3')
s3.Bucket(<<bucket_name>>).upload_file(
  'ファイル名',
  'ファイル名',
  ExtraArgs={'ContentType': 'text/html', 'ACL': 'public-read'})

ExtraArgsでContentType text/htmlを指定してあげる。