Vue使用vue-simple-uploader上传文件、文件夹

支持文件、多文件、文件夹上传
支持拖拽文件、文件夹上传
统一对待文件和文件夹,方便操作管理
可暂停、继续上传
错误处理
支持“快传”,通过文件判断服务端是否已存在从而实现“快传”
上传队列管理,支持最大并发上传
分块上传
支持进度、预估剩余时间、出错自动重试、重传等操作
//安装
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>

更多配置 链接

猜你喜欢

转载自blog.csdn.net/Yoga99/article/details/126945722