問題の説明
Object Storage Service (OSS) のアクセラレーションエンドポイントを使用してブラウザからオブジェクトにアクセスすると、ブラウザはオブジェクトのプレビューを提供する代わりにオブジェクトをダウンロードします。
発生原因
2020年12月31日00:00:00以降にバケットの転送アクセラレーションが有効になっていて、アクセラレーションエンドポイントを使用して名前がhtmまたはhtmlで終わるオブジェクト、またはコンテンツタイプがtext/html
のオブジェクトにアクセスする場合、x-oss-force-downloadヘッダーとcontent-Dispositionヘッダーがレスポンスに含まれます。
x-oss-force-download: true
コンテンツ-処分: 添付ファイル
Content-Disposition: attachment
は、標準ブラウザでプレビューではなくダウンロード操作をトリガーします。
例
たとえば、ブラウザーのアクセラレーションエンドポイントを使用して、2020年12月31日の00:00:00以降に転送アクセラレーションが有効になっているバケットのindex.htmlという名前のオブジェクトにアクセスする場合、前の2つのヘッダーがレスポンスに含まれます。 Content-Disposition: attachment
は、プレビューを提供する代わりに、標準ブラウザをトリガーしてオブジェクトをダウンロードします。
GET /index.html HTTP/1.1
HTTP/1.1 200 OK
コンテンツ-処分: 添付ファイル
x-oss-force-download: true
ソリューション
OSSがダウンロード操作をトリガーするヘッダーを返さない場合は、カスタムドメイン名を使用してオブジェクトにアクセスします。 詳細については、「カスタムドメイン名のマップ」をご参照ください。