問題の説明
OSS アクセラレーションエンドポイントをブラウザから使用してオブジェクトにアクセスすると、ブラウザがオブジェクトをインライン表示するのではなく、ファイルとしてダウンロードします。
原因
この動作は、2021 年 1 月 16 日 00:00:00 以降に転送アクセラレーションが有効化されたバケットに影響します。このようなバケット内のオブジェクトにアクセラレーションエンドポイント経由でアクセスすると、OSS は応答に以下の 2 つのヘッダーを含めます:
x-oss-force-download: true
Content-Disposition: attachmentContent-Disposition: attachment は、標準的なブラウザに対してオブジェクトをファイルとして保存するよう指示し、インラインでのレンダリングを行わないようにします。
例
これらのヘッダーがダウンロードをトリガーしていることを確認するには、ブラウザの開発者ツールを開き、[ネットワーク] タブに移動して、対象オブジェクトのリクエストに対するレスポンスヘッダーを確認します。
ダウンロードをトリガーする応答の例は以下のとおりです:
GET /test HTTP/1.1
HTTP/1.1 200 OK
Content-Disposition: attachment
x-oss-force-download: true両方のヘッダーが存在する場合は、以下のソリューションに進んでください。
ソリューション
アクセラレーションエンドポイントではなく、カスタムドメイン名を経由してオブジェクトにアクセスしてください。バケットへのカスタムドメイン名のマッピング手順については、「カスタムドメイン名のマッピング」をご参照ください。