# 上传附件
系统支持上传附件的功能,可以上传图片、音频、视频、文档等多种类型的文件。上传的文件可以以二进制的形式存在数据库中,也可以只在数据库中存储路径,而文件内容存储在磁盘文件系统。
# 使用上传附件组件
上传附件组件在提交数据时,需要设置附件存储的模型表,绑定提交字段,并和按钮组件搭配使用。上传图片组件和上传附件组件的功能类似,区别在于上传图片组件只能上传图片类型的文件。
示例地址:list列表-增删改查-新增 (opens new window)
操作步骤:
- 拖入上传附件组件:在组件区>输入分组下将上传附件组件拖入到画布中,并在组件栏>标题中设置标题为
企业信息附件
- 选择数据集:在组件>数据>数据集里下拉选择用于存储附件的数据表
企业基本信息_附件
,并绑定需要提交数据的字段,系统可以自动记录额外的一些附件相关信息,例如文件大小
,文件名
等。具体可参考上传附件数据存储 - 设置提交数据:勾选提交数据,可以限制上传附件大小、个数、类型等,可参考上传附件限制设置
- 设置更多提交字段:数据集中只存储了附件相关的字段,当需要记录一些系统字段,如
上传用户
等信息时,可以在更多字段设置中添加,点击加号按钮添加2个提交字段- 上传用户:目标字段选择
上传用户
,值输入表达式$user.id
,$user.id函数用于获取当前用户id - 企业内部序号:目标字段选择
企业内部序号
,值选择参数栏的企业内部序号
,或写表达式[企业内部序号]
- 上传用户:目标字段选择
- 设置提交数据交互:可参考提交表单交互
# 存储方式
系统提供了2种附件的存储方式:
- 磁盘存储:当文件内容绑定的提交字段为字符字段时,上传的附件会存储在磁盘中,路径格式及场景说明参考文件存储类型
- 数据库存储:当文件内容绑定的提交字段为blob字段时,上传的附件会以二进制形式存储在数据库中
TIP
无论哪种存储模式,均需要将文件内容属性绑定的字段设置为附件角色。当上传文件后,还未点击提交按钮之前,数据是还未提交到数据库中的,这时数据是临时存储在服务器的workdir/clusters-share/upload-files
目录下,且upload-files
文件夹存储的临时文件会定期自动删除。
# 设置附件多对一业务关联
一个表单中可能会同时上传多个附件信息,例如企业信息的填报,会传多个企业的附件图片信息。
此时附件的数据是单独一个模型表存储的,在附件存储的模型表中,需要有一个外键存储企业信息模型的主键,在模型表上根据企业主键对附件表进行过滤。从而可以实现企业信息下总是只能显示该企业上传的附件信息,并且可以对这些附件进行增加、删除等操作
外键的设置需要单独在上传附件>提交数据>更多字段设置中增加,在这里设置的字段会存储到数据集设置的模型表中:
- 目标字段:数据存储的目标字段,类似提交数据的绑定字段
- 值类型:表达式
- 值:提交到数据库的值,可以为固定值,也可以为参数值或控件参数值
除了外键信息,还可以增加额外的其它信息,如上传用户
、上传时间
等信息。
# 属性介绍
# 上传附件数据存储
设置存储附件的数据表,附件组件可以同时上传多个附件,且会有附件的一些附加属性。所以用于存储附件的表是一个单独的模型表,在数据集中选择存储的模型即可,该下拉框选项是在数据中引入的数据模型。提供了如下属性设置:
- 附件ID:当上传多个附件时,该属性为必填项,用于存储上传附件的主键,这个字段的数据是系统自动生成的唯一标识。当上传单个附件时,若表单界面已经设置了附件的主键输入信息,附件ID可以不填。
- 文件名:选填,存储附件的文件名称,系统会获取上传的文件名称存储到该字段中。点击下载附件时,下载的附件名称也是该属性设置的值
- 文件大小:选填,存储附件的大小,若指定了存储字段,系统会获取上传的附件大小并写入到该字段中
- 修改时间:选填,存储该附件的最后修改时间
- 文件内容:必填项,用于存储附件里的文件内容。文件内容的存储方式由字段类型决定,可参考存储方式
# 上传附件限制设置
当附件勾选了提交数据时,可以对上传的附件做一些限制,提供了如下设置:
- 上传类型:可限制上传附件文件的类型,支持无限制、图片、语音、视频、文档以及自定义,自定义文件类型多个文件后缀名之间用英文逗号进行分隔,如:
doc,mp3,png
- 大小限制(MB/个):可限制上传的图片、视频与文件的大小,当上传附件超过该限制大小时,会弹出提示
- 必须至少上传一个:未上传附件时,无法进行提交,与必填项相似
- 允许提交多个附件:允许同时上传多个附件,每个附件都是一条单独的数据进行存储
当不勾选提交数据时,附件组件可以展示上传的内容,可以进行预览和下载操作,但是不能上传。
类型 | 格式 |
---|---|
图片 | pjp 、jpg 、pjpeg 、jpeg 、jfif 、png 、gif 、bmp 、svgz 、ico 、tif 、tiff 、webp |
语音 | mp3 、wav 、wave 、ape 、acc 、cde 、wma 、mka 、mid |
视频 | rm 、rmvb 、avi 、mov 、asf 、mpeg 、mpg 、dat 、navi 、ifo 、vob 、wmv 、asx |
文档 | doc 、docx 、xls 、xlsx 、ppt 、pptx 、pdf 、txt |
# 显示方式
上传的附件可以以缩略图或列表的形式显示,在样式>显示方式下可以选择
缩略图 | 列表 |
---|---|