Uppy

Uppy 是一个模块化、可扩展的 JavaScript 文件上传器,提供前端上传体验和插件系统

#type / concept #status / evergreen #tech / dev / frontend #resource / javascript #platform / browser

[!info] related notes

Uppy

一句话定义

Uppy 是一个开源的 JavaScript 文件上传器,主打模块化、可扩展、前端集成方便,提供完整的上传 UI 和插件系统。

核心内容

是什么

Uppy 是一个”前端上传这一整层的现成轮子”,它处理:

  • 选文件
  • 拖拽上传
  • 显示上传列表和进度
  • 限制文件类型/大小
  • 失败重试
  • 接不同上传方式(Tus、XHR、S3 Multipart 等)

核心特性

  1. 模块化架构:通过插件系统扩展功能
  2. 现成 UI 组件:Dashboard、Drag & Drop、进度条、文件列表
  3. 多框架支持:React、Vue、Svelte 等
  4. 多种上传后端:可接 Tus、XHR、S3 Multipart 等

常见插件

  • @uppy/dashboard:完整的上传管理界面
  • @uppy/drag-drop:拖拽上传区域
  • @uppy/progress-bar:上传进度条
  • @uppy/tus:基于 tus 协议的断点续传
  • @uppy/xhr:普通 XHR 上传
  • @uppy/aws-s3:AWS S3 直传

适用场景

  • 需要快速搭建前端上传页面
  • 需要现成的 UI 组件和交互体验
  • 需要灵活切换底层上传协议
  • React/Vue/Web 项目中的文件上传功能

边界与易混淆点

  • Uppy ≠ 上传协议:它是上传框架/SDK,底层可使用不同协议
  • Uppy 可以不用 tus:可直接用 XHR 或 S3 Multipart 上传
  • Uppy 不是后端:它只负责前端部分,后端需要另外实现
创建于 2026/3/28 更新于 2026/5/27