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

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

最終更新日:Dec 12, 2025

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

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

ファイルが強制的にダウンロードされる場合は、curl コマンドを使用してファイルの URL のレスポンスヘッダーを確認できます。これにより、根本原因を迅速に特定できます。

目的:レスポンスヘッダーで強制ダウンロードを引き起こす特定のフィールドを確認します。

手順:お使いのコンピューターでターミナルまたはコマンドラインインターフェイスを開き、次のコマンドを実行します。<your file URL> を実際のファイルの URL に置き換えてください。

curl -I "<your file URL>"

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

ソリューション

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

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

  • 原因:HTML ファイルなどのファイルがブラウザで直接実行される際に発生する可能性のあるセキュリティリスクを防ぐため、OSS は強制的にダウンロードを行います。この動作は、OSS のデフォルトドメイン名またはアクセラレーションエンドポイントを使用して、特定の日付以降に作成されたバケットにアクセスした場合に発生します。特定のリージョンとファイルタイプに対して、OSS はレスポンスヘッダーに x-oss-force-download: trueContent-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-meta oss://your-bucket/your-object.pdf Content-Disposition:inline

シナリオ 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-meta oss://your-bucket/your-object.jpg Content-Type:image/jpeg

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

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

Alibaba Cloud Content Delivery Network (CDN) を使用して OSS へのアクセスを高速化している場合、Content-TypeContent-Disposition などのファイルメタデータへの変更がすぐに反映されないことがあります。これは、CDN の POP (Point 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