avue实现文件手动上传并携带附加参数

avue实现文件手动上传并携带附加参数

前端

   <avue-form v-model="uploadForm" :option="uploadOption" @submit="handleUpload">
        <template slot="file">
          <el-upload
            action="#"
            :auto-upload="false"
            accept='application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
            :multiple="false"
            :on-exceed="() => this.$message.error('只能选择一个文件')"
            :on-change="(file)=>{this.uploadForm.file=file}"
            :limit="1">
            <el-button
              slot="trigger"
              type="primary">选取文件
            </el-button>
            <div slot="tip" class="el-upload__tip">只能上传xls/xlsx文件,且不超过100Mb</div>
          </el-upload>
        </template>
      </avue-form>

....

methods:{
	handleUpload() {
      this.loading = true
      const data= new FormData()
      data.append('file', this.form.files[0].raw)
      data.set('param', JSON.stringify(this.form))
      axios.post('/import',data).then(res => {
        console.log('------- end uplaod>>>', res)
        this.loading = false
      }).catch(err => {
        console.error(err)
        this.loading = false
      })
    },
}

后端

 @PostMapping("/import")
    @ResponseBody
    public void importData(@RequestPart("file") MultipartFile file,Map param) throws IOException {
 
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值