跳到主要内容
前端术语库

上传

Upload

UI 组件也叫:文件上传、图片上传、拖拽上传、Uploader

一句话:让用户从电脑或手机里选择文件、图片并传到服务器的控件,可以点按钮选择,也可以把文件拖进来。

详细解释

上传组件最常见三种样子:一个「上传文件」按钮,点了打开系统的文件选择窗口;一块虚线边框的 拖拽区域,写着「点击或将文件拖到此处上传」;一排方形的 图片墙,每格显示缩略图,最后一格是「+」。选完文件后,下方会列出文件名、进度条、成功或失败状态,以及删除、重新上传按钮。

写需求时要讲清限制:允许的文件类型(比如只要 jpg、png)、单个文件大小上限、最多几个文件。这些要在选择前就用灰色小字提示,而不是上传失败了才告诉用户。上传头像这类场景还常在选图后弹出裁剪框。大文件要显示真实进度,并允许取消。

示例

灰度线框示意,只表达结构,不代表具体视觉风格。

怎么跟 AI 说

可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。

「附件」用拖拽上传区域:虚线边框的方框,中间是上传图标和「点击或将文件拖到此处」,下方灰色小字「支持 PDF、Word,单个不超过 10MB,最多 5 个」。文件拖入时边框加深,上传后在下方列出文件名、进度条和删除按钮,失败的显示重试。

结构与适用场景

结构描述

由触发选择的按钮或拖拽区域、限制说明文字和已上传文件列表组成,列表每项含文件名、进度和操作按钮。

适用场景

  • 表单里需要提交附件、证件照、合同扫描件等文件
  • 上传头像、商品图片这类需要马上看到缩略图预览的图片
  • 一次上传多个文件或大文件,需要看到每个文件的进度和结果

不适用场景

  • 用户只需要粘贴一个图片或文件的网址时,用普通输入框即可
  • 需要在页面上边写文字边插图排版时,应该用富文本编辑器自带的插图功能
  • 批量导入几千条表格数据并需要逐行校验时,应该做成专门的分步导入流程

常见坏用法

  • 不提前说明格式和大小限制,用户传完才看到「文件过大」
  • 上传过程中没有进度和状态,用户不知道是卡住了还是成功了
  • 图片上传后不显示缩略图,用户无法确认传对了没有

识别特征

  • 虚线边框的大方框,中间有向上箭头或云朵图标和「拖到此处」的文字
  • 带上传图标的按钮,下方列出文件名和细进度条
  • 一排方形缩略图,最后一个格子是虚线框加「+」

DOM 线索

插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。

  • input[type="file"]
  • .ant-upload-wrapper
  • .ant-upload-drag
  • .el-upload
  • .arco-upload
  • .t-upload
  • .n-upload