> ## Documentation Index
> Fetch the complete documentation index at: https://enterprise-docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ファイルをダウンロード

> **対象アプリ**：Workflow、Chatflow。

ファイルの生のバイト列を、プレビューまたはダウンロード用に返します。ファイルは、呼び出し元のアプリ、環境、`user` に属している必要があります。

**標準 API の対応する操作**：[ファイルをダウンロード](/ja/3.13.x/develop/api/files/download-file)。相違点は次のとおりです。

- `kind` パラメータでファイルの取得元を指定します。
- `user` が必須です。
- エラーコードが異なります。



## OpenAPI

````yaml /ja/3.13.x/develop/api/openapi_service.json get /v2/files/{file_id}/preview
openapi: 3.0.1
info:
  title: Dify サービス API
  description: >-
    Dify アプリケーションとナレッジベースのための REST API です。アプリケーション系エンドポイントはアプリの API
    キーで、ナレッジ系エンドポイントはナレッジベースの API キーで認証します。
  version: 1.0.0
servers:
  - url: https://{api_base_url}
    description: Dify サービス API のベース URL です。ご利用のデプロイ環境の API ベース URL に置き換えてください。
    variables:
      api_base_url:
        default: api.example.com/v1
        description: API ベース URL のホストとパス（`https://` を除く）。
security:
  - ApiKeyAuth: []
tags:
  - name: チャットメッセージ
    description: チャットメッセージとインタラクションに関連する操作です。
  - name: ファイル操作
    description: ファイルのアップロードとプレビューの操作です。
  - name: エンドユーザー
    description: エンドユーザー情報に関連する操作です。
  - name: メッセージフィードバック
    description: ユーザーフィードバックの操作です。
  - name: 会話管理
    description: 会話管理に関連する操作です。
  - name: 音声・テキスト変換
    description: テキスト読み上げと音声認識の操作です。
  - name: アプリケーション設定
    description: アプリケーション設定と情報を取得する操作です。
  - name: アノテーション管理
    description: ダイレクト返信用のアノテーション管理に関連する操作です。
  - name: 人間の入力
    description: 人間の入力を要する一時停止中のワークフローの再開操作です。
  - name: ワークフロー実行
    description: ワークフローの実行と管理のための操作です。
  - name: 完了メッセージ
    description: テキスト生成に関連する操作です。
  - name: ナレッジベース
    description: ナレッジベースの作成、設定、取得を含むナレッジベース管理の操作です。
  - name: ドキュメント
    description: ナレッジベース内のドキュメントの作成、更新、管理のための操作です。
  - name: チャンク
    description: ドキュメントチャンクと子チャンクの管理のための操作です。
  - name: メタデータ
    description: ナレッジベースのメタデータフィールドとドキュメントメタデータ値の管理のための操作です。
  - name: タグ管理
    description: ナレッジベースタグとタグバインディングの管理のための操作です。
  - name: モデル
    description: 利用可能なモデルを取得するための操作です。
  - name: ナレッジパイプライン
    description: データソースプラグインとパイプライン実行を含むナレッジパイプラインの管理と実行のための操作です。
  - name: デプロイ環境
    description: >-
      デプロイ環境が `v2` ベース URL
      で提供するエンドポイントです。デプロイ環境が提供するのはこのグループのエンドポイントだけで、それ以外のパスを呼び出すと `404
      not_found` が返ります。認証とエラーは標準の Service API
      とは異なります。デプロイ環境については、このグループの各ページが正式な情報源です。
paths:
  /v2/files/{file_id}/preview:
    get:
      tags:
        - デプロイ環境
      summary: ファイルをダウンロード
      description: >-
        **対象アプリ**：Workflow、Chatflow。


        ファイルの生のバイト列を、プレビューまたはダウンロード用に返します。ファイルは、呼び出し元のアプリ、環境、`user`
        に属している必要があります。


        **標準 API
        の対応する操作**：[ファイルをダウンロード](/ja/3.13.x/develop/api/files/download-file)。相違点は次のとおりです。


        - `kind` パラメータでファイルの取得元を指定します。

        - `user` が必須です。

        - エラーコードが異なります。
      operationId: downloadDeployedFileJa
      parameters:
        - name: file_id
          in: path
          required: true
          description: >-
            ダウンロードするファイルの ID です。取得元は 2
            つあります。[ファイルをアップロード](/ja/3.13.x/develop/api/deployed-environments/upload-file)
            のレスポンスで返る `id`
            と、[会話履歴メッセージ一覧を取得](/ja/3.13.x/develop/api/deployed-environments/list-conversation-messages)
            で返るメッセージの `message_files` にある各項目の `upload_file_id` です。ツールが生成したファイルには
            `kind=tool` が必要です。
          schema:
            type: string
            format: uuid
        - name: user
          in: query
          required: true
          description: >-
            エンドユーザーの識別子。アプリ側で定義し、アプリ内で一意にします。ファイルを所有する `user`
            と一致する必要があります。[エンドユーザーの識別](/ja/3.13.x/develop/api/guides/end-user-identity)
            を参照してください。
          schema:
            type: string
            minLength: 1
            maxLength: 255
        - name: as_attachment
          in: query
          required: false
          description: '`true` の場合、ファイルはブラウザでインライン表示される代わりに、添付ファイルとしてダウンロードされます。'
          schema:
            type: boolean
            default: false
        - name: kind
          in: query
          required: false
          description: >-
            ファイルの取得元です。メッセージのペイロードで返る URL には、既に正しい値が含まれています。自分で URL
            を組み立てる場合にのみ、手動で指定します。
          schema:
            type: string
            enum:
              - upload
              - tool
            default: upload
      responses:
        '200':
          description: >-
            ファイルの生のコンテンツです。`Content-Type` はファイル自身の MIME タイプです。`as_attachment` が
            `true` の場合は、`application/octet-stream` と `Content-Disposition:
            attachment` で返します。HTML ファイルは `as_attachment` の値にかかわらず、常にダウンロードされます。
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '400':
          description: >-
            - `invalid_param`：`user`、`kind`、`as_attachment` のいずれかが不正です。`message`
            は `invalid argument` です。

            - `invalid_param`：`file_id` が UUID ではありません。`message` は `invalid id`
            です。

            - `app_unavailable`：このアプリは現在、この環境で API リクエストを処理できません。
                - API アクセスが無効になっています。
                - アプリがこの環境にデプロイされていません。
                - デプロイがまだ進行中です。
                - 環境が削除中です。

                アプリの担当者に **アクセスポイント** タブを、管理者にエンタープライズ ダッシュボードで環境を確認してもらってください。アプリが応答できるようになったら再試行してください。
          content:
            application/json:
              examples:
                invalid_param:
                  summary: invalid_param
                  value:
                    code: invalid_param
                    message: invalid argument
                    status: 400
                invalid_param_id:
                  summary: invalid_param（invalid id）
                  value:
                    code: invalid_param
                    message: invalid id
                    status: 400
                app_unavailable:
                  summary: app_unavailable
                  value:
                    status: 400
                    code: app_unavailable
                    message: App unavailable, please check your app configurations.
        '401':
          description: '`unauthorized`：API キーがない、形式が不正、不明、または取り消されています。'
          content:
            application/json:
              examples:
                unauthorized:
                  summary: unauthorized
                  value:
                    code: unauthorized
                    message: Access token is invalid
                    status: 401
        '404':
          description: >-
            - `file_not_found`：ファイルが存在しないか、呼び出し元のアプリ、環境、`user`、`kind` に属していません。

            - `APPDEPLOY_APP_NOT_FOUND`：この API キーが属するアプリが Dify
            上で見つかりません。アプリが残っているか確認してください。`message` は `app not found` です。
          content:
            application/json:
              examples:
                file_not_found:
                  summary: file_not_found
                  value:
                    status: 404
                    code: file_not_found
                    message: The requested file was not found.
                app_not_found:
                  summary: APPDEPLOY_APP_NOT_FOUND
                  value:
                    code: APPDEPLOY_APP_NOT_FOUND
                    message: app not found
                    status: 404
        '500':
          description: >-
            `internal_server_error`：プラットフォームがリクエストを完了できませんでした。再試行し、それでも続く場合は管理者に連絡してください。
          content:
            application/json:
              examples:
                internal_server_error:
                  summary: internal_server_error
                  value:
                    code: internal_server_error
                    message: internal error
                    status: 500
        '503':
          description: >-
            `internal_server_error`：ファイルサービスが一時的に利用できません。再試行し、それでも続く場合は管理者に連絡してください。
          content:
            application/json:
              examples:
                internal_server_error:
                  summary: internal_server_error
                  value:
                    code: internal_server_error
                    message: file service unavailable
                    status: 503
      servers:
        - url: https://{deployed_api_base_url}
          description: >-
            すべてのデプロイ環境が共有するベース URL です。標準の Service API アドレスで `/v1` を `/v2`
            に置き換えたものです。
          variables:
            deployed_api_base_url:
              default: api.example.com
              description: >-
                アプリの **アクセスポイント** タブで、いずれかのデプロイ環境の **バックエンドサービス API** カードから完全な
                URL をコピーし、先頭の `https://` と末尾の `/v2` を除いてください。
components:
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: API_KEY
      description: >-
        すべてのリクエストは API キーで認証します：`Authorization: Bearer
        {API_KEY}`。アプリのエンドポイントにはアプリの API キーを、ナレッジのエンドポイントにはナレッジベースの API
        キーを使用します（[Dify API
        クイックスタート](/ja/3.13.x/develop/api/guides/get-started)）。


        キーはサーバーサイドで保管し、クライアントコードには決して埋め込まないでください。キーが欠落または無効なリクエストは HTTP
        `401`（`unauthorized`）で失敗します。

````