すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:OSS でのオブジェクトプレビュー動作の設定

最終更新日:Mar 26, 2026

ブラウザで Object Storage Service (OSS) のオブジェクトにアクセスすると、表示されずに自動的にダウンロードされることがあります。このトピックでは、その原因を特定し、意図したプレビュー動作を設定する方法について説明します。

問題のトラブルシューティング

オブジェクトが自動的にダウンロードされる場合は、curl コマンドを使用してその HTTP レスポンスヘッダーを調査し、原因を特定します。

目的:HTTP レスポンスヘッダーに、ダウンロードを強制する特定のフィールドが含まれているかどうかを確認します。

手順:ターミナルまたはコマンドプロンプトを開き、次のコマンドを実行します。<your-object-URL> を実際のオブジェクトの URL に置き換えてください。

curl -I "<your-object-URL>"

結果の分析:コマンドを実行した後、レスポンスで x-oss-force-download フィールドと Content-Disposition フィールドを確認します。

ソリューション

シナリオ 1:セキュリティポリシーによる強制ダウンロード

このシナリオは、レスポンスヘッダーに x-oss-force-download: true が含まれる場合に適用されます。

  • 原因:HTML などの特定の種類のファイルがブラウザで直接実行されることによる潜在的なセキュリティリスクを防ぐため、OSS は x-oss-force-download: true および Content-Disposition: attachment レスポンスヘッダーを追加してファイルのダウンロードを強制します。この動作は、OSS のデフォルトドメイン名または転送アクセラレーションドメイン名を使用して、特定の時点以降に作成されたバケットにアクセスする際に、一部のリージョンの一部のファイルタイプに適用されます。

    ポリシーの詳細については、「付録:OSS の強制ダウンロードルール」をご参照ください。
  • 解決策:カスタムドメイン名を使用して OSS リソースにアクセスする。

  • 手順

    1. バケットにカスタムドメイン名をバインドする:OSS コンソールにログインします。対象バケットの [ドメイン名] ページで、有効な ICP 登録があるカスタムドメイン名をバケットにバインドします。

    2. CNAME レコードを設定する:Alibaba Cloud DNS などの DNS プロバイダーに移動し、カスタムドメイン名を OSS が提供する CNAME アドレスにマッピングする CNAME レコードを追加します。

    3. 新しいドメイン名を使用してオブジェクトにアクセスする:設定が完了したら、カスタムドメイン名の URL を使用してオブジェクトにアクセスします。これにより、オブジェクトはブラウザでプレビューされます。

説明
  • グローバルなアクセスアクセラレーションのためには、カスタムドメイン名を転送アクセラレーションドメイン名にバインドしてください。このアプローチは、強制ダウンロードポリシーをバイパスし、アクセラレーションの利点を提供します。

  • 詳細な手順については、「カスタムドメイン名のマッピング」をご参照ください。

シナリオ 2:オブジェクトメタデータによる強制ダウンロード

このシナリオは、レスポンスヘッダーに Content-Disposition: attachment が含まれるが、x-oss-force-download フィールドが含まれない場合に適用されます。

  • 原因:オブジェクトのメタデータ内の Content-Disposition フィールドが明示的に attachment に設定されています。この設定は、ブラウザに対してオブジェクトをインラインで表示するのではなく、添付ファイルとしてダウンロードするように指示します。この設定は、一時的なダウンロードリンクを生成するためによく使用されます。削除されない場合、後続のすべてのアクセス試行でダウンロードがトリガーされます。

  • 解決策:オブジェクトの Content-Disposition メタデータを inline に変更する。

    • コンソールでの変更

      1. OSS コンソールにログインし、対象バケットの [オブジェクト] > [オブジェクト一覧] ページに移動します。

      2. 対象のオブジェクトを見つけます。[操作] 列で、 > [オブジェクトメタデータの設定] を選択します。

      3. 表示されたダイアログボックスで、Content-Disposition フィールドを見つけ、その値を inline に変更します。

      4. [OK] をクリックして設定を保存します。

    • ossutil を使用した一括更新

      # 指定されたオブジェクトの Content-Disposition を inline に設定します。
      ossutil set-props oss://your-bucket/your-object.pdf --content-disposition inline --metadata-directive update

シナリオ 3:不正な Content-Type によるプレビューの失敗

このシナリオでは、HTTP レスポンスヘッダーは正常ですが、ブラウザは依然としてオブジェクトをダウンロードします。

  • 原因:オブジェクトのメタデータ内の Content-Type (MIME タイプとも呼ばれる) が正しくないか、欠落しています。たとえば、JPG イメージの Content-Typeapplication/octet-stream の場合、ブラウザはコンテンツタイプを認識できないため、オブジェクトをダウンロードします。

  • 解決策:オブジェクトに正しい Content-Type を設定する。

    • コンソールでの変更

      1. OSS コンソールにログインし、対象バケットの [オブジェクト] > [オブジェクト一覧] ページに移動します。

      2. 対象のオブジェクトを見つけます。[操作] 列で、 > [オブジェクトメタデータの設定] を選択します。

      3. 表示されたダイアログボックスで、Content-Type フィールドを見つけ、その値を正しいものに変更します。

      4. [OK] をクリックして設定を保存します。

      一般的なオブジェクトタイプに対する正しい Content-Type 値の例

      • イメージ:image/jpegimage/pngimage/gifimage/webp

      • ビデオ:video/mp4

      • PDF ドキュメント:application/pdf

      • HTML ファイル:text/html

      • プレーンテキスト:text/plain

    • ossutil を使用した一括更新

      # 指定されたオブジェクトの Content-Type を image/jpeg に設定します。
      ossutil set-props oss://your-bucket/your-object.jpg --content-type image/jpeg --metadata-directive update

その他のシナリオとソリューション

メタデータの変更が反映されない:CDN キャッシュの確認

Content Delivery Network (CDN) を使用して OSS へのアクセスを高速化している場合、Content-TypeContent-Disposition などのオブジェクトメタデータへの変更がすぐに反映されないことがあります。これは、CDN ノードが古いヘッダーを持つキャッシュされたコンテンツを提供し続けているためです。

解決策:CDN コンソールにログインし、変更されたオブジェクトの URL をパージして CDN キャッシュをクリアします。詳細な手順については、「リソースのパージとプリフェッチ」をご参照ください。

オブジェクトの強制ダウンロード

オブジェクトをプレビューせずに強制的にダウンロードさせるには、次のいずれかの方法を使用します。

  • 方法 1 (推奨):OSS 側での設定シナリオ 2で説明したように、オブジェクトの Content-Disposition メタデータを attachment に設定します。この方法は、個々のオブジェクトに永続的なダウンロード設定を適用するのに最適です。

  • 方法 2: CDN 側の構成。CDN を使用する場合、[キャッシュ設定] で HTTP レスポンスヘッダーを構成することにより、CDN コンソールに Content-Disposition: attachment ヘッダーを追加できます。この方法では、OSS オリジン内のオブジェクトを変更する必要はなく、特定のパスまたはファイルタイプに対してバッチおよび柔軟なルール構成が可能です。

ブラウザプレビューでサポートされていないフォーマット

主要なブラウザは、.psd.ai.sketch などの一部の特殊なオブジェクトフォーマットのプレビューをネイティブにサポートしていません。これらの場合、OSS と CDN の設定が正しくても、ブラウザはオブジェクトをダウンロードします。

解決策:特定のオブジェクトフォーマットのプレビューをサポートするブラウザ拡張機能またはプラグインをインストールします。あるいは、WebOffice オンラインプレビューなどの専門的なドキュメントプレビューサービスを使用することもできます。

付録:OSS の強制ダウンロードルール

オブジェクトが予期せずダウンロードされる場合、HTTP レスポンスヘッダーの x-oss-ec フィールドを確認し、以下の表で一致するエントリを見つけて原因を特定してください。

  • エラーコード (x-oss-ec):ダウンロードをトリガーしたルールの一意の識別子。

  • バケット作成時間:デフォルトドメイン名の場合、ポリシーはポリシーの有効開始時刻以降に作成されたバケットに適用されます。この時刻より前に作成されたバケットは通常影響を受けません。

  • 転送アクセラレーション有効化時刻:転送アクセラレーションドメイン名の場合、ポリシーはポリシーの有効開始時刻以降に機能が有効化されたバケットに適用されます。この時刻より前に転送アクセラレーションが有効化されていたバケットは通常影響を受けません。

どのルールに一致するかにかかわらず、カスタムドメイン名を使用することで、すべての強制ダウンロードをバイパスできます。

OSS のデフォルトドメイン名

有効開始時刻

バケットリージョン

影響を受けるオブジェクト

影響を受けるオブジェクトタイプ

エラーコード

2018-09-28 08:00

中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (深セン)、および中国 (成都)

有効開始時刻以降に作成されたバケット

text/html

0048-00000001

2019-09-25 12:00

中国 (南京-ローカルリージョン、サービス終了予定)中国 (ウランチャブ)、中国 (河源)、中国 (広州)、米国 (シリコンバレー)、米国 (バージニア)、韓国 (ソウル)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、フィリピン (マニラ)、タイ (バンコク)、イギリス (ロンドン)、および UAE (ドバイ)

有効開始時刻以降に作成されたバケット

text/html

0048-00000001

2019-11-25 14:00

香港 (中国)

有効開始時刻以降に作成されたバケット

text/html

0048-00000001

2019-09-23 17:00

中国 (フフホト)

有効開始時刻以降に作成されたバケット

image/jpeg, image/gif, image/tiff, image/png, image/webp, image/svg+xml, image/bmp, image/x-ms-bmp, image/x-cmu-raster, image/exr, image/x-icon, image/heic, text/html

0048-00000100

2019-09-24 11:00

中国 (青島) および中国 (成都)

有効開始時刻以降に作成されたバケット

image/jpeg, image/gif, image/tiff, image/png, image/webp, image/svg+xml, image/bmp, image/x-ms-bmp, image/x-cmu-raster, image/exr, image/x-icon, image/heic, text/html

0048-00000101

2019-09-24 17:00

中国 (張家口)

有効開始時刻以降に作成されたバケット

image/jpeg, image/gif, image/tiff, image/png, image/webp, image/svg+xml, image/bmp, image/x-ms-bmp, image/x-cmu-raster, image/exr, image/x-icon, image/heic, text/html

0048-00000102

2019-09-29 17:00

中国 (上海) および中国 (深セン)

有効開始時刻以降に作成されたバケット

image/jpeg, image/gif, image/tiff, image/png, image/webp, image/svg+xml, image/bmp, image/x-ms-bmp, image/x-cmu-raster, image/exr, image/x-icon, image/heic, text/html

0048-00000103

2019-09-29 18:00

中国 (北京)

有効開始時刻以降に作成されたバケット

image/jpeg, image/gif, image/tiff, image/png, image/webp, image/svg+xml, image/bmp, image/x-ms-bmp, image/x-cmu-raster, image/exr, image/x-icon, image/heic, text/html

0048-00000104

2019-09-30 15:00

中国 (杭州)

有効開始時刻以降に作成されたバケット

image/jpeg, image/gif, image/tiff, image/png, image/webp, image/svg+xml, image/bmp, image/x-ms-bmp, image/x-cmu-raster, image/exr, image/x-icon, image/heic, text/html

0048-00000105

2022-10-09 00:00

すべてのリージョン

2022-10-09 00:00 以降に初めて OSS を有効にしたユーザーによって作成されたバケット

すべて

0048-00000113

2025-12-22 10:00

中国 (ウランチャブ)、中国 (河源)、中国 (広州)、中国 (南京-ローカルリージョン、サービス終了予定)

有効開始時刻以降に作成されたバケット

image/jpeg, image/gif, image/tiff, image/png, image/webp, image/svg+xml, image/bmp, image/x-ms-bmp, image/x-cmu-raster, image/exr, image/x-icon, and image/heic

0048-00000114

2026-03-25 10:00

すべてのリージョン

有効開始時刻以降に作成されたバケット

ファイル名が .xml で終わるオブジェクト、または Content-Type が application/xml または text/xml のオブジェクト

N/A

転送アクセラレーションドメイン名

有効開始時刻

バケットリージョン

影響を受けるオブジェクト

影響を受けるオブジェクトタイプ

エラーコード

2020-12-31 00:00

すべてのリージョン

有効開始時刻以降に転送アクセラレーションが有効化されたバケット

text/html

0048-00000002

2021-01-07 12:00

UAE (ドバイ)

有効開始時刻以降に転送アクセラレーションが有効化されたバケット

すべて

0048-00000107

2021-01-07 18:00

マレーシア (クアラルンプール) およびイギリス (ロンドン)

有効開始時刻以降に転送アクセラレーションが有効化されたバケット

すべて

0048-00000108

2021-01-08 18:00

日本 (東京)、インドネシア (ジャカルタ)、およびドイツ (フランクフルト)

有効開始時刻以降に転送アクセラレーションが有効化されたバケット

すべて

0048-00000109

2021-01-14 12:00

米国 (シリコンバレー)、米国 (バージニア)、およびシンガポール

有効開始時刻以降に転送アクセラレーションが有効化されたバケット

すべて

0048-00000110

2021-01-16 00:00

香港 (中国)

有効開始時刻以降に転送アクセラレーションが有効化されたバケット

すべて

0048-00000111

2022-10-09 00:00

すべてのリージョン

2022-10-09 00:00 以降に初めて OSS を有効にしたユーザーによって作成されたバケット

すべて

0048-00000113

2023-02-01 00:00

韓国 (ソウル)、フィリピン (マニラ)、およびタイ (バンコク)

有効開始時刻以降に転送アクセラレーションが有効化されたバケット

すべて

0048-00000112