element-ui上传多个文件,只请求一次相应处理

element-ui上传多个文件,只请求一次相应处理

如果不做修改,就会变成上传了几个文件就会发送几次请求,想坐到的就是,多文件上传只发送一次请求

没做现在时的多文件上传

有些参数和方法都是自己项目里面使用的(element中有参数说明),不用管,只管最关键的:auto-upload=“false”=>:auto-upload="true"和:file-list的一个数组
element文档参数说明

<el-upload
  v-if="pageLeftBtn"
   ref="uploadBtn"
   :multiple="true"
   :action="uploadURL"
   :name="fileKey"
   :with-credentials="true"
   :show-file-list="false"
   :on-success="handleUploadSuccess"
   :on-error="handleUploadError"
   :on-preview="handlePreview"
   :before-upload="handleBeforeUpload"
   :auto-upload="false"
   :file-list="uploadedList"
   :disabled="disabled || isLoading"
   :limit="limit"
 >
   <el-button
     class="btn"
     type="primary"
     :loading="isLoading"
     :disabled="disabled"
     icon="el-icon-upload"
     @click="clearUploadList"
     >请选择上传文件</el-button>
 </el-upload>
 <el-button class="btn" type="primary" @click="handleUploadFileList">确定上传</el-button>
    handleUploadFileList () {
      let formData = new FormData()
      this.uploadedList.forEach((_) => {
        formData.append('file', _.raw)
      })
      console.log(formData)
      // TO DO
      // 如果调用submit()方法,又会是多文件分开上传
      // this.$refs.uploadBtn.submit()
      // ... 接下来直接发送请求就行了
      // 列如
      axios
      // TO DO 
      // 需要什么参数就传递什么参数
      .post(`//172.0.0.1:8080/upload?test=${this.test}`,formData,
          { headers: { 'Content-Type': 'multipart/form-data' } }
        )
        .then((r) => {
          console.log(r)
        })
        .catch((e) => {
          console.log(e)
        })
     // 期间需要做判断,比如说大小控制等加上判断即可
    },
还有一种:http-request方法,大同小异,这个看自己习惯吧
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值