支持文件、多文件、文件夹上传
支持拖拽文件、文件夹上传
统一对待文件和文件夹,方便操作管理
可暂停、继续上传
错误处理
支持“快传”,通过文件判断服务端是否已存在从而实现“快传”
上传队列管理,支持最大并发上传
分块上传
支持进度、预估剩余时间、出错自动重试、重传等操作
//安装
npm install vue-simple-uploader --save
//main.js 引用
import uploader from 'vue-simple-uploader'
Vue.use(uploader)
<template>
<uploader :options="options" class="uploader-example" @file-added="onFileAdded">
<uploader-unsupport></uploader-unsupport>
<uploader-drop>
<p>Drop files here to upload or</p>
<br />
<uploader-btn>select files</uploader-btn>
<uploader-btn :attrs="attrs">select images</uploader-btn>
<uploader-btn :directory="true">选择文件夹r</uploader-btn>
</uploader-drop>
<uploader-list></uploader-list>
</uploader>
</template>
<script>
export default {
components: {},
data () {
return {
options: {
target: this.global.baseUrl + '/test/testFile', // 服务端url
autoStart: false,
testChunks: false, // 不效验
headers: {
// 在header中添加的验证 根据实际需要
},
query: {
// form data里的参数 根据实际需要
}
},
attrs: {
accept: [] // 接收的文件类型
}
}
},
methods: {
onFileAdded (file) {
// 设置headers等参数的值
}
}
}
</script>
<style lang="scss" scoped>
.uploader-example {
width: 880px;
padding: 15px;
margin: 40px auto 0;
font-size: 12px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
.uploader-example .uploader-btn {
margin-right: 4px;
}
.uploader-example .uploader-list {
max-height: 440px;
overflow: auto;
overflow-x: hidden;
overflow-y: auto;
}
</style>
更多配置 链接