問題の説明
ブラウザから転送アクセラレーションエンドポイントを介して OSS オブジェクトにアクセスした場合、ブラウザが「名前を付けて保存」ダイアログを表示し、ファイルをインライン表示せずにダウンロードします。
原因
バケットに対して転送アクセラレーションが 2021 年 1 月 7 日 18 時 00 分 00 秒以降に有効化された場合、OSS はアクセラレーションエンドポイント経由で提供されるすべての応答に以下のヘッダーを挿入します:
x-oss-force-download: true
Content-Disposition: attachmentContent-Disposition: attachment は、ブラウザに対してファイルをインラインでレンダリングするのではなく、「名前を付けて保存」ダイアログを表示してダウンロードするよう指示します。
例
以下の例は、2021 年 1 月 7 日 18 時 00 分 00 秒以降に転送アクセラレーションが有効化されたバケット内の GET リクエストによるオブジェクト test の取得を示しています。応答には、強制ダウンロード用の両方のヘッダーが含まれます。
GET /test HTTP/1.1
HTTP/1.1 200 OK
Content-Disposition: attachment
x-oss-force-download: trueソリューション
バケットにカスタムドメイン名をバインドし、そのドメインを経由してオブジェクトにアクセスしてください。カスタムドメイン経由のリクエストでは OSS が強制ダウンロード用ヘッダーを挿入しないため、ブラウザ上でオブジェクトをインライン表示(プレビュー)できます。
設定手順については、「カスタムドメイン名をマップする」をご参照ください。