問題の説明
Object Storage Service (OSS) の標準ドメイン名を使用してブラウザからオブジェクトにアクセスすると、ブラウザはオブジェクトのプレビューを提供する代わりにオブジェクトをダウンロードします。
発生原因
2019年9月30日の15:00:00以降に作成されたバケットに標準ドメイン名を使用してアクセスし、コンテンツタイプが次のいずれかの値であるオブジェクトを要求する場合、OSSから返される応答にはx-oss-force-downloadヘッダーとcontent-Dispositionヘッダーが含まれます。
画像 /jpeg
イメージ /gif
イメージ /tiff
イメージ /png
イメージ /webp
イメージ /svg + xml
イメージ /bmp
イメージ /x-ms-bmp
image/x-cmu-raster
イメージ /exr
画像 /x-アイコン
イメージ /heic
応答ヘッダーのサンプル:
x-oss-force-download: true
コンテンツ-処分: 添付ファイル
Content-Disposition: attachment
は、標準ブラウザでプレビューではなくダウンロード操作をトリガーします。
例
たとえば、2019年9月30日の15:00:00以降に作成されたバケットには、名前がapple.jpeg、コンテンツタイプがimage/jpeg
のオブジェクトが含まれています。 標準ドメイン名を使用してブラウザからオブジェクトにアクセスする場合、OSSから返される応答には前の2つのヘッダーが含まれます。 Content-Disposition: attachment
は、標準ブラウザでプレビューではなくダウンロード操作をトリガーします。
GET /apple.jpeg HTTP/1.1
HTTP/1.1 200 OK
コンテンツタイプ: image/jpeg
コンテンツ-処分: 添付ファイル
x-oss-force-download: true
ソリューション
OSSがダウンロード操作をトリガーするヘッダーを返さない場合は、カスタムドメイン名を使用してオブジェクトにアクセスします。 詳細については、「カスタムドメイン名のマップ」をご参照ください。