更新时间:2024-08-08 GMT+08:00
分享

上传

上传组件用于上传文件。

在标准页面设计界面,从“基本组件 > 表单”中,拖拽“上传”组件至页面工作区域,如图1

图1 上传

查看组件帮助

将鼠标放在对应的组件上,单击,可查看组件说明。

图2 查看组件说明

属性

  • 数据绑定:通过建立不同类型的视图模型,将各种数据源和组件的返回值或者属性值进行关联,实现动态数据效果。
    • 值绑定:设置组件绑定的数据模型,数据模型一般有以下几种。更多介绍,请参见值绑定
      • 自定义:由用户自定义的前端模型,可以在模型树上快速创建自定义字段。
      • 对象:由后台对象模型映射创建,支持选择字段。
      • 服务:由后台服务的出入参数模型创建,分别生成inputParam和outputParam节点。
      • 事件:由后台事件的字段映射创建,并且支持websocket刷新模型数据。
    • 属性值绑定,用于对该组件所有属性的动态设置。当某一属性被动态绑定时,以绑定值为准。更多介绍,请参见属性绑定
  • 基本属性:基本属性通过数据绑定后,在运行时以数据绑定的值为准。
    • 标签:设置组件的标签名,用于在界面展示。
    • 文本:上传按钮上,显示的文本。

    • 默认已上传的文件列表:设置默认已上传的文件列表。
    • 存储:上传文件的存储类型,单击该参数后的,可进行配置。
      • 存储:存储器类型。
        • OBS:通过OBS类型连接器,存储到华为OBS(Object-based Storage Service)上。
        • MINIO:通过MINIO类型连接器,存储到MINIO上。
        • OBJECTSTORAGEPROXY:通过OBJECTSTORAGEPROXY类型连接器,存储到相应服务器上。
        • CUSTOMAPI:通过自定义接口,来上传和展示文件。
      • 连接器:当存储配置为OBS、MINIO或OBJECTSTORAGEPROXY时,该参数才会显示,表示具体的连接器。
      • 桶:当存储配置为OBS、MINIO或者OBJECTSTORAGEPROXY时,该参数才会显示,表示具体的存储桶。
      • 上传服务:当存储配置为CUSTOMAPI时,该参数才会显示,选择自定义接口实现上传文件的功能。
      • 展示服务:当存储配置为CUSTOMAPI时,该参数才会显示,选择自定义接口实现展示文件的功能。
    • 过滤文件类型:接受上传的文件类型,为文件原生的属性,会在选择文件时按照文件类型过滤,多个类型格式间以“,”符号隔开,如“image/jpeg,application/msword,text/plain”。
    • 支持文件类型:支持的文件类型,与“过滤文件类型”不同的是,该参数是识别文件的后缀名,“过滤文件类型”为原生的属性,会在选择文件时过滤,可以两者结合使用。
    • 支持多文件:是否支持多选文件。
    • 自定义文件名:上传的单个文件时,可自定义上传的文件名。
    • 同名处理:防止同名文件覆盖,同名文件名后自动增加随机数,也可在“on-before-upload”事件中自定义处理文件名。
    • 上传路径:自定义服务器端上传路径,默认为uistudio/upload,上传路径不能是以“./”或“../”等开头的相对路径。
    • 文件数量:多文件上传时,最大文件数量限制,即允许上传的文件数量,超过此数量后,将不允许上传。
    • 文件大小:单个文件大小限制,单位kb。
    • 文件大小错误描述:当文件超过限制大小时,提示的错误描述。
    • 预览:是否开启预览,只在图片时生效。
    • 图片压缩:是否开启图片压缩功能,当前仅支持jpg、jpeg和png格式的图片。
    • 压缩尺寸:当“图片压缩”开关打开时,该参数才会显示。图片压缩尺寸,分为保持原尺寸和自定义尺寸。
      • 保持原尺寸压缩: 如果设置宽度,高度没设置或高度和宽度都设置了,宽度以设置的为准,高度则按照原来的宽高比例生成。 如果设置高度,宽度没设置,高度以设置的为准,宽度则按照原来的宽高比例生成。如果宽度和高度都没设置,宽高以原图片宽高为准。
      • 自定义尺寸压缩:宽度和高度两个属性都没有设置或者只设置了其中一个,没有设置值的属性以原图片的同属性值为准。
    • 压缩宽度(px):指定图片压缩的宽度。当“图片压缩”开关打开时,该参数才会显示。
    • 压缩高度(px):指定图片压缩的高度。当“图片压缩”开关打开时,该参数才会显示。
    • 图片压缩至指定大小(kb):将图片压缩至指定的大小以下。当“图片压缩”开关打开时,该参数才会显示。
    • 公开读:文件的访问控制权限,默认为“private”(私有),否则为“public-read”(公共读)。
    • 可选择:文件列表是否可以选择,仅为图片时有效。
    • 是否多选:文件列表是否支持多选。当“可选择”开关打开时,该参数才会显示。
    • 选择类型:选择时,展示的样式,包含“遮罩层选择”或“选择框选择”两种类型。当“可选择”开关打开时,该参数才会显示。
    • 选择框内容:设置选择框的内容。当“选择类型”设置为“选择框选择”时,该参数才会显示。
    • 选中时显示内容:选中时,选择框显示的内容。当“选择类型”设置为“选择框选择”时,该参数才会显示。
    • 九宫格:九宫格形态展示图片列表,仅当上传全部为图片时开启效果较好,移动端每行展示4个并且大小自适应。
    • 列表只显示进度条:上传列表的展示内容仅展示进度条,且文件上传完后进度条消失,目前适用于文档和压缩包。
    • 展示方向:上传列表中多张图片时,控制图片展示排列方向,移动端仅支持纵向展示。
    • 图片宽高:上传列表中单个图片的宽高,单位像素,移动端不生效。
    • 最大宽度:限制最大的宽度。
  • 公共
    • 控件名称:当前组件的名称。
    • 隐藏:是否隐藏该组件,此方式为静态配置该组件的隐藏。还可以将该组件属性值“隐藏”配置为布尔类型模型字段,在自定义JS代码中来控制模型字段取值,从而设置该组件是否隐藏,这种动态设置优先级是最高的。
    • 禁用:是否禁用该组件。
    • 只读:组件是否只读。
  • 样式 > 高级设置 > 样式类:当前组件使用的CSS样式类名,可在CSS代码中进行引用。

事件

在事件中,显示了组件暴露出来的一些常用事件,供用户实现,来扩展组件的交互。整个页面有加载(on-load)事件,该事件在页面渲染完成后执行,可进行数据初始化操作。

表1 事件编排

事件名

说明

返回值

数据改变

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

当前已上传文件列表。

文件上传

开始上传文件时触发。

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

操作成功

上传成功后触发。

上传成功文件的地址。

选中文件

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

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

文件上传前

文件上传前触发。

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

  • 当前文件。
  • 文件名。

在库中,可配置页面需要的依赖库,扩展页面功能。库分为系统预置库和自定义库两种,更多介绍请参见如何引入第三方库

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

var _component = context.$component.get('upload_0');_component.clearFiles();

相关文档