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

Object Storage Service:OSS オブジェクトのブラウザプレビュー動作の設定方法

最終更新日:Jan 20, 2026

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

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

オブジェクトがダウンロードされる場合は、curl コマンドを使用してオブジェクト URL の応答ヘッダーを確認することで、根本原因を迅速に特定できます。

目的:応答ヘッダーに強制ダウンロードを引き起こす特定のフィールドが含まれているかどうかを確認します。

手順:お使いのコンピューターでターミナルまたはコマンドラインインターフェイス (CLI) を開き、次のコマンドを実行します。<your-object-url> を実際のオブジェクト URL に置き換えてください。

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

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

ソリューション

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

このシナリオは、応答ヘッダーに x-oss-force-download: true が含まれる場合に発生します。

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

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

  • 手順

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

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

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

説明
  • グローバルアクセスアクセラレーションが必要な場合は、カスタムドメイン名をアクセラレーションエンドポイントにマッピングできます。これにより、強制ダウンロードポリシーをバイパスし、高速アクセスを提供します。

  • 詳細については、「カスタムドメイン名を使用した OSS へのアクセス」をご参照ください。

シナリオ 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 が不適切なため、ブラウザがオブジェクトをプレビューできない

このシナリオは、応答ヘッダーは正常であるにもかかわらず、ブラウザがオブジェクトをダウンロードする場合に発生します。

  • 原因:オブジェクトの Content-Type (多目的インターネットメール拡張 (MIME) タイプとも呼ばれる) メタデータが存在しないか、不適切です。たとえば、JPG 画像の Content-Type が誤って application/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 キャッシュの確認

Alibaba Cloud Content Delivery Network (CDN) を使用して OSS へのアクセスを高速化している場合、Content-TypeContent-Disposition などのオブジェクトメタデータへの変更がすぐに反映されないことがあります。これは、CDN の POP (Points of Presence) が、古い設定のキャッシュされたバージョンを提供し続けている可能性があるためです。

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

オブジェクトをプレビューせずに強制的にダウンロードさせる方法

ユーザーがオブジェクトにアクセスした際に常に強制的にダウンロードさせたい場合は、以下のいずれかの方法を使用できます。

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

  • 方法 2:CDN での設定。CDN を使用している場合は、CDN コンソールで Content-Disposition: attachment ヘッダーを追加できます。これは、[キャッシュ設定] で送信レスポンスヘッダーとして設定できます。この方法は OSS のソースオブジェクトを変更する必要がなく、特定のパスやファイルタイプに基づいた柔軟な一括設定に役立ちます。

ブラウザがプレビュー用のファイル形式をサポートしていない

主要なブラウザは、.psd.ai.sketch などの一部の専門的なファイル形式のオンラインプレビューをサポートしていません。この場合、OSS と CDN の設定が正しくても、ブラウザはファイルをダウンロードします。

解決策:ファイル形式のプレビューをサポートするブラウザプラグインをインストールするか、WebOffice オンラインプレビューなどの専門的なドキュメントプレビューサービスを使用できます。

付録:OSS 強制ダウンロードルールのクイックリファレンス

オブジェクトがダウンロードされる場合は、HTTP 応答ヘッダーの x-oss-ec フィールドの値を確認します。その後、次の表を使用して原因を特定できます。

  • エラーコード (x-oss-ec):ダウンロードを引き起こしたルールの一意の ID。

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

  • 転送アクセラレーション有効化時刻:転送アクセラレーションを有効にした後、このポリシーは通常、この時刻以降に転送アクセラレーションが有効になったバケットにのみ適用されます。この時刻より前に転送アクセラレーションが有効になったバケットは、通常影響を受けません。

カスタムドメイン名を使用すると、すべての強制ダウンロードルールがバイパスされます。

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

ポリシーの有効期間

バケットリージョン

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

影響を受けるファイルタイプ

エラーコード

2018年9月28日 08:00

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

ポリシー発効後に作成されたバケット

text/html

0048-00000001

2019年9月25日 12:00

中国 (南京-ローカルリージョン) (段階的廃止)中国 (ウランチャブ)、中国 (河源)、中国 (広州)、米国 (シリコンバレー)、米国 (バージニア)、韓国 (ソウル)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、フィリピン (マニラ)、タイ (バンコク)、イギリス (ロンドン)、UAE (ドバイ)

ポリシー発効後に作成されたバケット

text/html

0048-00000001

2019年11月25日 14:00

中国 (香港)

ポリシー発効後に作成されたバケット

text/html

0048-00000001

2019年9月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年9月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年9月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年9月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年9月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年9月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月9日 00:00

すべてのリージョン

2022年10月9日 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, image/heic

0048-00000114

アクセラレーションエンドポイント

ポリシーの有効期間

バケットリージョン

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

影響を受けるファイルタイプ

エラーコード

2020年12月31日 00:00

すべてのリージョン

ポリシー発効後に転送アクセラレーションが有効化されたバケット

text/html

0048-00000002

2021年1月7日 12:00

UAE (ドバイ)

ポリシー発効後に転送アクセラレーションが有効化されたバケット

すべて

0048-00000107

2021年1月7日 18:00

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

ポリシー発効後に転送アクセラレーションが有効化されたバケット

すべて

0048-00000108

2021年1月8日 18:00

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

ポリシー発効後に転送アクセラレーションが有効化されたバケット

すべて

0048-00000109

2021年1月14日 12:00

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

ポリシー発効後に転送アクセラレーションが有効化されたバケット

すべて

0048-00000110

2021年1月16日 00:00

中国 (香港)

ポリシー発効後に転送アクセラレーションが有効化されたバケット

すべて

0048-00000111

2022年10月9日 00:00

すべてのリージョン

2022年10月9日 00:00 以降に初めて OSS をアクティベートしたユーザーによって作成されたバケット

すべて

0048-00000113

2023年2月1日 00:00

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

ポリシー発効後に転送アクセラレーションが有効化されたバケット

すべて

0048-00000112