OSS ドメイン名を使用してブラウザ経由で Object Storage Service (OSS) オブジェクトにアクセスすると、オブジェクトがインラインで表示されずにダウンロードされます。これは、アクセラレーションエンドポイント経由のアクセスでも同様です。
原因
2022年10月9日 00:00:00 以降にアクティベートされた OSS では、OSS ドメイン名経由で HTML オブジェクトにアクセスすると、OSS は応答に次のヘッダーを追加します。
x-oss-force-download: true
Content-Disposition: attachmentContent-Disposition: attachment ヘッダーは、オブジェクトをインラインでレンダリングするのではなく、ファイルとしてダウンロードするようにブラウザに指示します。
この動作は、2022年10月9日 00:00:00 より前にアクティベートされた OSS には適用されません。
リクエストと応答の例:
GET /test.html HTTP/1.1
Host: examplebucket.oss-ap-southeast-1.aliyuncs.com
HTTP/1.1 200 OK
Content-Disposition: attachment
x-oss-force-download: trueソリューション
OSS がダウンロード操作をトリガーするヘッダーを返すことを望まない場合は、カスタムドメイン名を使用してオブジェクトにアクセスしてください。
設定手順については、「カスタムドメイン名のマッピング」をご参照ください。
修正の確認
カスタムドメイン名をマッピングした後、ブラウザでカスタムドメイン名を使用するオブジェクトURLを開き、オブジェクトがインラインでレンダリングされるか確認します。また、ブラウザ開発者ツールで応答ヘッダーを確認して、Content-Disposition: attachment ヘッダーが存在するかどうかを確認することもできます。
よくある質問
これは API または SDK アクセスに影響しますか?
いいえ。Content-Disposition: attachment ヘッダーは、ブラウザが応答をどのように処理するかにのみ影響します。API および SDK 呼び出しは、このヘッダーに関係なくオブジェクトデータを取得します。