upload-calc
Version:
上传文件 图片 图片预览 多文件 文件夹等。接收多参数,多种计算回调,**不提供UI显示**,需要您根据回调自行发挥。
120 lines (101 loc) • 2.79 kB
Markdown
# upload-calc
>上传单文件、多文件、文件夹(图片/图片预览),接收多参数,多种计算回调。
## 功能
```
- 拖拽上传
- 点击上传
- 自动上传
- 上传拦截
- 文件个数
* 单文件
* 多文件
- 文件夹
- 过滤
- 上传个数
- size
- 格式
- 自定义过滤
- 额外参数
- 任务队列状态监听
- 上传进度监听
- 失败队列监听
- 图片预览
```
## 安装
```bash
npm i upload-calc
```
## 使用案例
```js
import upload from 'upload-calc'
const upd = new upload('upd', 'http://xxx/api/file_upload/', {
data: {
task_number: 'task_1676530245'
},
dragAble: true,
dragWrapperId: 'dg'
}, {
failMessageList (list) {
console.log(list)
},
onProgress (progress) {
console.log(progress)
},
beforeDrag () {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(0)
}, 1000);
})
}
})
```
```html
<div id="dg" style="width: 500px; height: 500px; background-color: #999;">
<form>
<input
id="upd"
hidden
type="file"
multiple
@change="upd.change"
/>
<el-button @click="upd.click()">选择文件</el-button>
<el-button @click="upd.syncSubmit()">同步上传</el-button>
</form>
</div>
```
**注意:**调用upd函数必须加(), 如上面upd.click() upd.syncSubmit()
## 使用说明
```js
new upload(inputId, apiUrl, options{}, callback{})
```
## options{}
参数|说明|类型|默认值|可选值
:---|:---|:---|:---|:---
data| 携带参数 | Object | {} | -
limit| 限制个数 | Number | - | -
size| 单文件限制大小 /byte | Number | - | -
autoUpload| 是否自动上传 | Boolean | false | true
dragAble| 拖拽上传 | Boolean | false | true
dragWrapperId | 拽到的容器id | String | - | -
## callback{}
参数|说明|类型|参数格式
:---|:---|:---|:---
filter| 自定义过滤函数 | Function(fileList, originFilterFailList) | -
failMessageList|过滤不能通过的列表|function(failList)|[{file_name: '', message: ''}]
onSwitch|上传队列任务的开始/结束|function(Boolean)| true:开始,false:结束
onTotal| 总量 | function(num) | -
onImgPreview| 上传文件中有图片,则返回图片给预览 |function(img)|-
onSuccess|单个文件上传结束|function(response, fileName)|(ajax_body, '文件名')
onCount| 剩余总量 | function(num) | -
onProgress|单个文件上传进度|function(progressNumber, fileName)|(0~100, '文件名')
onAccessLimitNum|上传文件个数超过限制,并阻止上传|function(Boolean)| false
beforeDrag| 拖拽上传前拦截 | Function(updCallback) | -
## Events
事件名 | 说明
:---|:---
click|input点击事件
change|input文件变化事件
submit|异步提交文件
syncSubmit|同步提交文件