ファイルコレクション

概要

ファイルコレクションは、ファイル名、拡張子、サイズ、MIME タイプ、パス、URL、プレビューアドレス、保存先、カスタム meta などのファイルメタ情報を保存するために使用します。ファイル本体はファイルストレージエンジンに保存され、ファイルコレクションにはファイルのメタデータが保存されます。

ファイルコレクションはメインデータベースのページからのみ作成できます。外部データベース、REST API データソース、外部 NocoBase データソースではファイルコレクションを作成できません。

適用シーン

ファイルコレクションは、次のような業務シーンに適しています。

  • 契約書の添付ファイル、請求書、経費精算の証憑
  • 製品画像、従業員証、プロジェクト文書
  • 業務レコードにアップロードするファイル、プレビューファイル、ダウンロードファイル
  • ファイルのメタ情報を個別に管理する必要がある添付ファイルライブラリ

使用フロー

ファイルコレクションは通常、主業務テーブルとして直接使用するものではありません。一般的なフローは次のとおりです。

  1. ファイルコレクションを作成し、ファイルのタイトル、ファイル名、サイズ、タイプ、URL、保存先などのメタ情報を保存します。
  2. 業務テーブルにリレーションフィールドを作成し、ファイルコレクションに関連付けます。たとえば、「契約」テーブルで「契約添付ファイル」ファイルコレクションに関連付けます。
  3. 業務テーブルのフォームブロックにリレーションフィールドを追加し、ユーザーが業務レコードの新規作成または編集時にファイルをアップロードできるようにします。
  4. アップロードが完了すると、NocoBase はファイルのメタ情報をファイルコレクションに書き込み、リレーションフィールドを通じてファイルレコードを現在の業務レコードに関連付けます。
  5. 業務テーブルの詳細ブロック、テーブルブロック、またはリストブロックに添付ファイルフィールドを表示し、ユーザーがファイルを確認、プレビュー、ダウンロードできるようにします。

作成設定

メインデータベースで「Create collection」をクリックし、「File collection」を選択すると、ファイルコレクションを作成できます。

20240324090414

ファイルコレクションの作成設定は、通常のテーブルと基本的に同じです。ファイルコレクションには、アップロードしたファイルのタイトル、パス、URL、保存先、拡張情報を保存するためのファイルメタ情報フィールドがあらかじめ用意されています。

設定説明
Collection display nameデータテーブルを画面上に表示する名称です。たとえば「契約添付ファイル」「請求書」「製品画像」などです。
Collection nameデータテーブルの識別名称です。API、リレーションフィールド、権限、ワークフローなどで内部参照するために使用します。
Categoriesデータテーブルの分類です。分類はデータテーブル管理画面での整理方法にのみ影響し、データテーブルの構造は変更しません。
Descriptionデータテーブルの説明です。このファイルコレクションにどのようなファイルを保存するか、誰がアップロードするか、どの業務テーブルと関係するかなどを記載できます。
Preset fieldsプリセットフィールドです。ファイルコレクションを作成する際は、システムフィールドとファイルコレクションの組み込みフィールドを残すことを推奨します。

組み込みフィールド

ファイルコレクションの作成後、通常は次の組み込みフィールドが含まれます。ファイル本体はファイルストレージに保存され、ファイルコレクションにはこれらのメタ情報が保存されます。

フィールドフィールド名説明
IDidファイルレコードを一意に識別するデフォルトの主キーフィールドです。
Titletitleファイルのタイトルです。通常、画面上での表示に使用します。
File namefilenameファイル名です。
Extension nameextnameファイルの拡張子です。
Sizesizeファイルサイズです。
MIME typemimetypeファイルの MIME タイプです。
Pathpathストレージ内のファイルパスです。
URLurlファイルへのアクセスアドレスです。
Previewpreviewファイルのプレビューアドレスです。
Storagestorage / storageIdファイルが属するストレージです。storage はリレーションフィールド、storageId は対応する外部キーです。
Metametaファイルの拡張メタ情報です。
作成日時createdAtファイルレコードの作成日時を自動的に記録します。
作成者createdByファイルレコードをアップロードまたは作成したユーザーを自動的に記録します。
更新日時updatedAtファイルレコードが最後に更新された日時を自動的に記録します。
更新者updatedByファイルレコードを最後に更新したユーザーを自動的に記録します。
スペースspaceマルチスペースプラグインを有効にすると使用でき、スペースごとにデータを分離します。マルチスペースを有効にしていない場合は表示されません。

20240324090527

主キーフィールド

ファイルコレクションにも、通常のテーブルと同様に主キーフィールドが必要です。添付ファイルフィールドとリレーションフィールドは、主キーを通じてファイルのメタ情報を関連付けます。

ファイルコレクションに主キーがない場合は、データテーブルの編集時に「Record unique key」を設定してください。設定しないと、添付ファイルレコードを正しく関連付けたり、プレビューしたり、編集したりできない場合があります。

リレーションの構築

業務テーブルにリレーションフィールドを作成し、ファイルコレクションに関連付けます。

20240324091529

ページ設定での使用

ファイルコレクションのデータは通常、添付ファイルコンポーネントによるアップロード時に自動生成されます。フォームブロック、詳細ブロック、またはリレーションブロックで使用します。

20260710160424

20240324091321

設定箇所用途
フォームブロック業務テーブルのレコードに添付ファイルをアップロードします。
詳細ブロック添付ファイルを表示、プレビュー、またはダウンロードします。
テーブルブロックリスト内に添付ファイルフィールドを表示します。
リレーションブロック現在の業務レコードに関連付けられたファイルレコードを直接管理します。

編集設定

データテーブル一覧で、ファイルコレクションの右側にある「Edit」をクリックすると、データテーブルの表示名称、分類、説明、簡易ページネーションモード、「Record unique key」などの設定を変更できます。

ファイルメタ情報フィールドは通常、アップロード処理によって自動的に書き込まれるため、urlpathstorageId などのフィールドを別の業務用途に変更することは推奨しません。ファイルに関する業務情報を拡張する必要がある場合は、「ファイルタイプ」「所属フェーズ」「アーカイブ済みかどうか」などのフィールドを追加してください。

データテーブルの削除

データテーブル一覧で、ファイルコレクションの右側にある「Delete」をクリックすると、ファイルコレクションを削除できます。

ファイルコレクションを削除すると、ファイルのメタ情報レコードと関連する Collection メタデータが削除されます。削除する前に、業務テーブルの添付ファイルフィールド、リレーションフィールド、ページブロック、権限、ワークフロー、API が引き続き依存していないか確認してください。

警告

ファイルコレクションに保存されるのはファイルのメタ情報です。ファイルコレクションのレコードを削除すると、業務レコード内の添付ファイル参照が無効になる可能性があります。ファイル本体も同時に削除されるかどうかは、ファイルストレージと業務設定によって異なります。操作前に、そのファイルが引き続き業務で使用されているか確認してください。

関連リンク