docs/docs/cn/data-sources/file-manager/field-attachment.md
:::warning 注意
:::
在 NocoBase 中,附件(Attachment) 用于上传文件并把文件记录关联到当前业务记录。
附件字段通常会关联文件表。文件本体由文件存储引擎保存,文件名、大小、URL、MIME 类型等元信息保存在文件表中。
附件适合这些业务场景:
在数据表的「Configure fields」页面中,点击「Add field」,选择「附件」可以创建附件字段。
| 配置 | 说明 |
|---|---|
| Field interface | 字段的界面类型。附件对应 attachment,决定页面中如何录入和展示。 |
| Field display name | 字段在界面中显示的名称,比如「合同附件」「发票文件」「产品图片」。建议使用业务人员能直接理解的名称。 |
| Field name | 字段标识名称,用于 API、关系字段、权限、工作流等内部引用。创建后通常不再修改,只支持字母、数字和下划线,并且必须以字母开头。 |
| Field type | 字段在数据层的类型。附件字段通常是关系字段,关联文件表中的文件记录。 |
| Default value | 默认值。新增记录时,如果用户没有填写,可以自动带出默认值。 |
| Validation rules | 校验规则。可以限制是否必填,文件数量、大小和类型通常在上传组件或文件存储配置中控制。 |
| Description | 字段说明。适合写字段含义、填写要求、数据来源或维护人。 |
:::warning 注意
字段名创建后会被页面区块、权限、工作流和 API 引用。创建前先确认命名,避免后续修改带来配置调整成本。
:::
附件字段的默认行为如下:
| 特性 | 说明 |
|---|---|
| 默认 Field interface | attachment。 |
| 默认 Field type | belongsToMany。 |
| 可选 Field type | belongsToMany 等关系类型,具体以文件字段配置为准。 |
| 页面组件 | 编辑模式使用附件上传组件。 |
| 筛选 | 通常按是否为空、是否有关联文件筛选。 |
| 排序 | 通常不用于排序。 |
| 校验 | 支持必填等基础校验,上传限制以组件配置为准。 |
创建后,点击字段右侧的「Edit」可以编辑附件字段配置。编辑字段主要用于调整字段在 NocoBase 中的展示和使用方式,比如修改显示名称、说明、默认值、校验规则或字段专属配置。
如果字段来自主数据库中已经同步的表,编辑时通常是在做字段映射——把数据库字段映射为 NocoBase 的 Field type 和 Field interface。
| 配置 | 允许编辑 | 说明 |
|---|---|---|
| Field display name | 是 | 修改字段在界面中的显示名称,不改变字段标识名称。 |
| Field name | 否 | 字段标识名称创建后通常不能在编辑表单中修改。 |
| Field interface | 条件支持 | 主数据库字段或同步字段在字段映射时可以调整。调整后会影响页面输入、展示和校验方式。 |
| Field type | 条件支持 | 主数据库字段或同步字段在字段映射时可以调整。调整前需要确认已有数据能否按新类型使用。 |
| Default value | 是 | 调整新增记录时的默认值。 |
| Validation rules | 是 | 调整字段校验规则。 |
| Description | 是 | 补充字段含义、填写要求、数据来源或维护人。 |
:::warning 注意
切换 Field type 或 Field interface 不等于简单改一个显示名称。它会影响字段的存储方式、输入组件、校验规则、筛选条件和工作流变量使用方式。已有数据较多时,先确认数据格式是否匹配。
:::
点击字段右侧的「Delete」可以删除附件字段。主数据库中还可以勾选多个字段后批量删除。
删除主数据库中新建的附件字段时,通常会同时删除数据库中的真实列及该列已有数据。删除从数据库同步或外部数据源映射出的字段时,影响范围取决于对应数据源和字段来源。
:::danger 警告
删除字段可能影响页面区块、表单、筛选、权限、工作流、API、导入导出和已有数据。删除前先确认字段是否仍被业务配置引用。
:::
附件字段适合在表单、详情和文件管理场景中使用。
| 场景 | 用途 |
|---|---|
| 表单区块 | 上传一个或多个文件。 |
| 详情区块 | 查看、预览或下载附件。 |
| 表格区块 | 展示附件数量或附件入口。 |
| 工作流 | 把附件作为审批、通知或导出的相关文件。 |