# 概要

## はじめに

ストレージエンジンは、ローカルストレージ（サーバーのハードドライブに保存）やクラウドストレージなど、特定のサービスにファイルを保存するために使用されます。

ファイルをアップロードする前に、ストレージエンジンを設定する必要があります。システムインストール時にローカルストレージエンジンが自動的に追加され、すぐに使用できます。また、新しいエンジンを追加したり、既存のエンジンのパラメーターを編集したりすることも可能です。

## ストレージエンジンの種類

現在、NocoBaseが組み込みでサポートしているストレージエンジンの種類は以下の通りです。

- [ローカルストレージ](./local)
- [Amazon S3](./amazon-s3)
- [Aliyun OSS](./aliyun-oss)
- [Tencent COS](./tencent-cos)
- [S3 Pro](./s3-pro)

システムインストール時にローカルストレージエンジンが自動的に追加され、すぐに使用できます。新しいエンジンを追加したり、既存のエンジンのパラメーターを編集したりすることも可能です。

## 共通パラメーター

異なるエンジンの種類に固有のパラメーターに加えて、以下の項目は共通パラメーターです（例としてローカルストレージを使用します）。

![ファイルストレージエンジンの設定例](https://static-docs.nocobase.com/20240529115151.png)

### タイトル

ストレージエンジンの名前です。人間が識別するために使用します。

### システム名

ストレージエンジンのシステム名で、システムが識別するために使用します。システム内で一意である必要があります。空欄の場合、システムが自動的にランダムな名前を生成します。

### アクセスURLプレフィックス

ファイルが外部からアクセス可能なURLアドレスのプレフィックス部分です。CDNのアクセスURLのベースとして使用できます。例：`https://cdn.nocobase.com/app`（末尾の「`/`」は不要です）。

### パス

ファイルを保存する際に使用される相対パスです。アクセス時には、この部分も最終的なURLに自動的に追加されます。例：`user/avatar`（先頭と末尾の「`/`」は不要です）。

### ファイルサイズ制限

このストレージエンジンにアップロードされるファイルのサイズ制限です。この設定サイズを超えるファイルはアップロードできません。システムのデフォルト制限は20MBですが、最大1GBまで調整可能です。

### ファイルタイプ

アップロードできるファイルのタイプを制限できます。[MIME](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) 構文の記述形式を使用します。例えば、`image/*` は画像ファイルを表します。複数のタイプはカンマ（,）で区切ることができます。例：`image/*, application/pdf` は画像タイプとPDFタイプのファイルを許可することを意味します。

### デフォルトストレージエンジン

チェックを入れると、システムのデフォルトストレージエンジンとして設定されます。添付ファイルフィールドまたはファイルコレクションがストレージエンジンを指定していない場合、アップロードされたファイルはすべてデフォルトストレージエンジンに保存されます。デフォルトストレージエンジンは削除できません。

### レコード削除時にファイルを保持

チェックを入れると、添付ファイルまたはファイルコレクションのデータレコードが削除されても、ストレージエンジン内のアップロード済みファイルは保持されます。デフォルトではチェックが入っていません。つまり、レコードが削除されると、ストレージエンジン内のファイルも同時に削除されます。

:::info{title=ヒント}
ファイルがアップロードされると、最終的なアクセスパスはいくつかの部分を結合して構成されます。

```
<アクセスURLプレフィックス>/<パス>/<ファイル名><拡張子>
```

例：`https://cdn.nocobase.com/app/user/avatar/20240529115151.png`。
:::