# 文件上传 obit-upload

代码实现

<template>
  <div class="upload">
    <obitUpload :action="action" :multiple="false" :params="uploadParams" :size="5" :success="success" accept="jpg, png, jpeg">
      <img :src="formData.imageUrl" class="avatar" height="200" v-if="formData.imageUrl" width="300" />
      <i class="el-icon-plus avatar-uploader-icon" v-else></i>
    </obitUpload>
  </div>
</template>

<script>
import obitUpload from './../../../src/obit-upload/obit-upload'

export default {
  components: {
    obitUpload
  },
  data() {
    return {
      formData: {
        imageUrl: ''
      },
      uploadParams: {
        uploadType: 3
      },
      action: 'http://rap2.taobao.org:38080/app/mock/228700/upload'
    }
  },
  methods: {
    success(res) {
      this.formData.imageUrl = res.sourceUrl
    }
  }
}
</script>

# 参数说明

参数 说明 类型 可选值 默认值 是否必填
drag 是否允许拖拽上传 Boolean - false -
action 上传文件地址 必填 String - - true
accept 上传的文件类型限制 比如 jpg,png String - - -
success 成功回调 Function - - -
multiple 是否允许多文件上传 Boolean - true -
size 是否允许多文件上传 Boolean - true -
multiple 单个文件大小最大限制(M) Number - 10 -
limit 允许同时最多上传文件数量 Number - 10 -
params 自定义参数 具体如下 Object - - -
autoUpload 是否选择完文件自动上传 具体操作如下 Boolean - true -

# params

自定义参数

<script>
    //最终参数会在默认参数{ uploadType: 2 },继承自定义参数params
    Object.assign({ uploadType: 2 }, this.params)
</script>

# autoUpload

手动触发上传

<template>
    <obitUpload
      :autoUpload="false"
      :params="uploadParams"
      :size="1"
      :success="success"
      accept="jpg, png, jpeg"
      action="fileserve/file/uploadFile"
      ref="upload"
    >
      <el-button size="small" type="primary">主动触发</el-button>
    </obitUpload>
</template>
<script>
export default {
  data() {
    return {
      formData: {
        imageUrl: ''
      },
      uploadParams: {
        uploadType: 3
      },
      action: 'http://rap2.taobao.org:38080/app/mock/228700/upload'
    }
  },
  methods: {
    //通过其他的事件触发上传
    submitUpload() {
      this.$refs.upload.submit()
    }
  }
}
</script>