antdvue 附件上传

 

 

 注:以下方法都是依据Ant Design of Vue为参考

第一种方式(仅适用于上传,不可拿返回的数据作为参数请求接口):

因为函数作用域原因,不可以赋值给全局变量使用

在data中声明 customRequest:null

vue

 <a-form-model ref="ruleForm" :rules="rules" :model="form" :label-col="labelCol" :wrapper-col="wrapperCol">
        <a-form-model-item label="附件">
              <a-upload name="file" :customRequest="customRequest">   
                <a-button icon="upload" @click="upload"> 上传</a-button>
              </a-upload>
                  <p></p>
        </a-form-model-item>
           
  </a-form-model>

methods

upload() {
    
      this.customRequest = function (options) {
        let params = new FormData()
        params.append('files', options.file)

        params.forEach((key) => {
          console.log(key);   //key的内容是上传的整个文件信息
        })
this.$axios.get("/web/mulFileUpload", {params}).then((res) => {
if(res.code=200){console.log("上传成功")}
})
} },

 

第二种方式(可拿返回的数据作为参数请求接口):

vue

 <a-form-model ref="ruleForm" :rules="rules" :model="form" :label-col="labelCol" :wrapper-col="wrapperCol">
        <a-form-model-item label="附件">
              <a-upload name="file" :customRequest="customRequest">   
                <a-button icon="upload" @click="upload"> 上传</a-button>
              </a-upload>
                  <p></p>
        </a-form-model-item>
           
  </a-form-model>

methods

 customRequest(data) {
      let params = new FormData()
      params.append('files', data.file)

      params.forEach((key) => {
        console.log(key)
        this.enclosureName = key.name
        this.enclosureSize = key.size
        this.enclosureType = key.type
      })
    },

示例图:

posted @ 2022-01-06 13:44  小兔儿_乖乖  阅读(752)  评论(0)    收藏  举报