APPCUBE-上传

时间:2023-11-01 16:19:13

上传

文件选择上传控件,用于上传文件。

上传组件说明如下。

  • 默认是一个Button组件,可以自定义修改内容。
  • 可以通过数据绑定模型,上传文件列表会保存在绑定的模型中。
  • 该组件在移动端支持调用摄像头接口。

向工作区域中拖入一个上传组件,单击“上传”页签,显示可配置属性页面。

表1 上传组件属性说明

参数名

说明

默认已上传的文件列表

默认已上传的文件列表。

存储

上传文件的存储类型。单击该参数后的齿轮图标,可进行配置。

  • 存储:存储器类型,支持如下选项:
    • OBS:表示通过OBS类型连接器存储到华为OBS(Object-based Storage Service)上。
    • MINIO:表示通过MINIO类型连接器存储到MINIO上。
    • OBJECTSTORAGEPROXY:表示通过OBJECTSTORAGEPROXY类型连接器存储到相应服务器上。
    • EDM:系统预置的EDM类型存储器。
    • CUSTOMAPI:通过自定义接口来上传和展示文件。
  • 连接器:当存储配置为OBS、MINIO或者OBJECTSTORAGEPROXY时,该参数才会显示,表示具体的连接器。
  • 桶:当存储配置为OBS、MINIO或者OBJECTSTORAGEPROXY时,该参数才会显示,表示具体的存储桶。
  • 上传服务:当存储配置为CUSTOMAPI时,该参数才会显示,选择自定义接口实现上传文件的功能。
  • 展示服务:当存储配置为CUSTOMAPI时,该参数才会显示,选择自定义接口实现展示文件的功能。

过滤文件类型

接受上传的文件类型,为文件原生的属性,会在选择文件时按照文件类型过滤,多个类型格式间以“,”符号隔开,如:“image/jpeg,application/msword,text/plain”

支持文件类型

支持的文件类型,与“过滤文件类型”不同的是,该参数是识别文件的后缀名,“过滤文件类型”为原生的属性,会在选择文件时过滤,可以两者结合使用。如:jpg,doc,txt

支持多文件

是否支持多选文件。

自定义文件名

上传的单个文件时,可自定义上传的文件名。

同名处理

防止同名文件覆盖,同名文件名后自动增加随机数,也可在“on-before-upload”事件中自定义处理文件名。

上传路径

自定义服务器端上传路径,默认uistudio/upload,上传路径不能是以“./”或“../”等开头的相对路径。

文件数量

多文件上传时,最大文件数量限制,即允许上传的文件数量,超过此数量后,将不允许上传。

文件大小(kb)

单个文件大小限制,单位kb。

文件大小错误描述

当文件超过限制大小时,提示的错误描述。支持多种语言配置。

公开读

上传到服务器上,是否可以公开读。

可选择

是否设置文件列表中选择设置。文件列表中可以带遮罩层选择或者复选框选择。

是否多选

当“可选择”开关打开时,该参数才会显示。是否支持文件列表的多文件的选择。

选择类型

当“可选择”开关打开时,该参数才会显示。选择类型包含“遮罩层选择”或者“选择框选择”两种类型。

选择框内容

当“选择类型”设置为“选择框选择”时,该参数才会显示。可设置选择框内容。

选中时显示内容

当“选择类型”设置为“选择框选择”时,该参数才会显示。表示是否选中时显示选择框内容。

九宫格

九宫格形态展示图片列表,仅当上传全部为图片时开启效果较好,移动端每行展示4个并且大小自适应。

列表展示位置

相对于上传按钮,上传列表的展示位置,默认在下方。

展示方向

上传列表中多张图片时,控制图片展示排列方向。

图片宽度

上传列表中单个图片的宽高,单位像素。

最大宽度

限制最大的宽度。

连接器配置请参考了解连接器

配置完上传属性后,需要在“事件”页签可进行事件编排,具体请参见事件编排器说明

表2 事件编排

事件名

说明

返回值

数据改变

已上传文件列表改变时触发

当前已上传文件列表

文件上传

开始上传文件时触发

  • 当前开始上传的文件
  • 当前已上传文件列表

操作成功

上传成功后触发

上传成功文件的地址

选中文件

文件列表选中时或取消选中时触发

  • 当前文件
  • 已选中的文件

文件上传前

文件上传前触发

在“文件上传前”事件后单击齿轮图标,在“自定义JS代码”中增加“$current.showUploadList = false”语句,可取消上传预览。

  • 当前文件
  • 文件名

系统为上传组件预置了clearFiles()方法。该方法用于清除上传文件列表。在上传组件的事件编排JS代码中可使用该方法,示例JS代码如下:

var _component = context.$component.get('upload_0');_component.clearFiles();
support.huaweicloud.com/usermanual-appcube/appcube_05_0143.html