组件功能

ImageSelect 用于在表单中选择本地图片文件,并自动转换为 Base64 格式输出,适用于头像上传、封面图设置、缩略图配置等图片上传场景。

基础用法

Template 示例:

<ImageSelect name="avatar" />

效果展示如下:

上传图片后,效果展示如下:

上传图片后 hover 展示删除图标,点击删除 组件禁用效果

![](https://qcloudimg.tencent-cloud.cn/image/document/8c4b92967c30a18f1ff4c0edaffe648b.png)

![](https://qcloudimg.tencent-cloud.cn/image/document/2edd723f532842a144de4e2e435fda04.png)

![](https://qcloudimg.tencent-cloud.cn/image/document/6742544653c8cd09a6d3a991b376d520.png)

属性说明

属性名 类型 描述 默认值
name string 表单字段名称 -
defaultValue string 默认图片值(base64 或 URL) -
required boolean 是否为必填字段 false
disabled boolean 是否禁用 false
maxSize number 最大文件大小(单位为 Byte(1MB = 1024 × 1024 Byte),不超过 20MB) -

注意:

★ 标记为必填属性。

使用示例

带默认值的图片选择

Template 示例:

<ImageSelect
  name="avatar"
  defaultValue="https://picsum.photos/id/237/400/400"
/>

效果展示:

限制文件大小

Template 示例:

<ImageSelect 
  name="thumbnail" 
  maxSize="2097152"
  required="true"
/>

此时表示限制上传的图片文件大小为 2 MB,当用户上传的图片超过文件大小限制后,将上传失败并给出错误提示。

禁用状态

Template 示例:

<ImageSelect 
  name="logo" 
  disabled="true"
  defaultValue="https://picsum.photos/id/237/400/400"
/>

效果展示:

在 Multi-Agent 模式下,复合表单澄清询问 Widget 包含 ImageSelect 组件。以下以“应用信息收集助手”为例进行说明:

  1. 进入 Agent 高级设置,在澄清样式中选择复合表单澄清。

Agent 输出格式选择身份信息介绍 Widget。

  1. 用户开始对话,应用通过 Widget 进行澄清询问和信息收集。
澄清询问 Widget 用户填写信息

![](https://qcloudimg.tencent-cloud.cn/image/document/8e07b931de7bdd544faf55801a96b114.png)

![](https://qcloudimg.tencent-cloud.cn/image/document/fe18c6db620edd86ac63579b8bd94811.png)
  1. 用户提交表单后,收集的头像图片展示在输出结果中。

功能特性

支持的图片格式

  • JPEG/JPG

  • PNG

  • GIF

  • WebP

  • BMP

  • SVG

文件大小限制

  • 默认限制:20MB。

  • 自定义上限:通过 maxSize 属性设置。

  • 当上传文件大小超出限制时会进行错误提示。

输出格式

  • 选择的图片会转换为 Base64 格式。

  • 输出值附带前缀标识:ADPWidgetImageSelect=data:image/...

  • 支持使用预设的 URL 或 base64 作为默认值。

交互行为

  • 点击选择区域打开文件选择器进行文件上传。

  • 支持拖拽上传文件。

  • 预览图片并 hover 展示清除按钮。

  • 图片加载失败时显示错误提示。

注意:

  1. 建议设置合理的 maxSize 值,避免选择过大的图片影响加载性能和传输效率。
  2. 组件会自动验证文件类型,只接受图片格式文件。
  3. 图片转换为 base64 后,数据体积会增大约 33%。
  4. 组件依赖 FileReader API 实现文件读取,主流现代浏览器均已支持。
  5. 当图片加载失败时,组件会显示错误状态提示,但不会阻断用户的后续操作。