最近写了个上传插件,自己用着方便些
主要需求:
- 支持超大文件上传
- 支持多个上传元素
- 支持分片上传
- 支持分片MD5验证
- 支持文件MD5验证
- 支持断点续传
- 支持上传文件查询
- 支持上传暂停
基础参数
参数 | 字段类型 | 默认值 | 必填 | 字段说明 |
---|
url | string | - | 是 | 上传地址 |
name | string | - | 否 | 上传元素识别,如果页面有2个以上上传元素,此项必填 |
monitor | string | - | 是 | 绑定上传元素 可以是ID或CLASS,,如:monitor: '#id’或 monitor: ‘.class’ |
autoup | bool | false | 否 | 是否自动上传 |
multiple | bool | false | 否 | 是否允许多文件上传 |
filenum | num | 0 | 否 | 最大上传数量 |
exp | string | imgages | 否 | 文件上传验证 参数:file,video,images |
基础事件
事件名 | 包含元素 | 说明 |
---|
prepose | 元素对象 | 点击上传按钮事件 |
before | 文件列表,元素对象 | 选择文件后事件 |
done | 返回当前elem元素 | 执行上传请求后的回调 |
success | 服务端响应信息,元素对象 | 执行上传请求后的回调 |
举个栗子
html
<a class="ceshi">文件上传</a>
JS
let ups = new wormUpload({
monitor: ".ceshi",
autoup: false,
url: "http://www.baidu.com",
exp: 'video',
multiple: true,
filenum: '9',
});
绑定到元素
html
<a class="ceshi" data-name="ceshi1" data-exp="file" data-filenum='5'>文件上传</a>
<a class="ceshi" data-name="ceshi2" data-exp="video" data-filenum='6'>文件上传</a>
JS
let ups = new wormUpload({
monitor: ".ceshi",
autoup: false,
url: "http://www.baidu.com",
exp: 'video',
multiple: true,
filenum: '9',
});
码云下载地址
文件切片上传