docs/docs/cn/file-manager/storage/index.md
存储引擎用于将文件保存到特定的服务中,包括本地存储(保存到服务器硬盘)、云存储等。
使用任何上传文件之前,都需要先配置存储引擎。系统安装时会自动添加一个本地存储引擎,可直接使用。也可以添加新的或编辑已有的引擎参数。
目前 NocoBase 内置支持的引擎类型如下:
系统安装时会自动添加一个本地存储引擎,可直接使用。也可以添加新的或编辑已有的引擎参数。
不同存储引擎对文件访问控制的支持不同。配置前先确认文件是否需要私有访问:
| 存储引擎 | 文件可访问性 |
|---|---|
| 本地存储 | 仅支持公开访问,不支持私有访问 |
| Amazon S3 | 仅支持公开访问,不支持私有访问 |
| 阿里云 OSS | 仅支持公开访问,不支持私有访问 |
| 腾讯云 COS | 仅支持公开访问,不支持私有访问 |
| S3 Pro | 支持私有访问,可通过临时签名 URL 访问文件 |
:::warning 注意
本地存储、Amazon S3、阿里云 OSS、腾讯云 COS 这几个内置引擎不会为文件访问做登录鉴权,也不会生成临时签名 URL。文件上传后,任何获得文件访问 URL 的用户都可以直接访问该文件。
如果需要保存合同、证件、内部资料等不应公开的文件,请使用 S3 Pro 并开启私有访问。
:::
如果你已经在使用仅支持公开访问的存储引擎,并希望把历史文件迁移到 S3 Pro,可参考迁移到 S3 Pro。
除了不同引擎类别的特有参数外,以下部分为通用参数(以本地存储为例):
存储引擎的名称,用于人工识别。
存储引擎的系统名称,用于系统识别。必须是系统唯一的,不填会由系统自动随机生成。
该文件对外可访问的 URL 地址前缀部分,可以是 CDN 的访问 URL 基础,如:“https://cdn.nocobase.com/app”(无需结尾的“/”)。
存储文件时使用的相对路径,在访问时此部分也会被自动拼接到最终的 URL 中。如:“user/avatar”(无需开头和结尾的“/”)。
对此存储引擎上传文件时的大小限制,超过该设置大小的文件将无法上传。系统默认限制为 20MB,可调整到最大的限制为 1GB。
可对上传文件的类型进行限制,使用 MIME 语法描述格式。例如:image/* 代表图片类文件。多个类型可以用英文逗号分隔,如:image/*, application/pdf 代表允许图片类型和 PDF 类型的文件。
勾选后设置为系统的默认存储引擎,在附件字段或文件表未指定存储引擎时,上传的文件均会保存至默认存储引擎中。默认存储引擎不可删除。
勾选后当附件表或文件表的数据记录被删除时,仍然保留存储引擎中已上传的文件。默认不勾选,即删除记录时会同时删除存储引擎中的文件。
:::info{title=提示} 文件上传后,最终的访问路径会由几部分拼接而成:
<访问 URL 基础>/<路径>/<文件名><后缀名>
如:https://cdn.nocobase.com/app/user/avatar/20240529115151.png。
:::