上传
- 单文件上传:利用
input
元素的accept
属性限制上传文件的类型、利用 JS 检测文件的类型及使用 Koa 实现单文件上传的功能; - 多文件上传:利用
input
元素的multiple
属性支持选择多文件及使用 Koa 实现多文件上传的功能; - 目录上传:利用
input
元素上的webkitdirectory
属性支持目录上传的功能及使用 Koa 实现目录上传并按文件目录结构存放的功能; - 压缩目录上传:在目录上传的基础上,利用 JSZip 实现压缩目录上传的功能;
- 拖拽上传:利用拖拽事件和 DataTransfer 对象实现拖拽上传的功能;
- 剪贴板上传:利用剪贴板事件和 Clipboard API 实现剪贴板上传的功能;
- 大文件分块上传:利用 Blob.slice、SparkMD5 和第三方库 async-pool 实现大文件并发上传的功能;
- 服务端上传:利用第三方库 form-data 实现服务端文件流式上传的功能。