element upload组件上传额外参数有两种办法:
1、element的upload组件有个附带的属性是data可用于传递额外参数
在这里插入图片描述
用这个自带的属性来传递时,后端可以用request来获取,如下所示:

@PostMapping(value="/importReportData")
@ResponseBody
public void importReportData(@RequestParam("file") MultipartFile file, HttpServletRequest request){
}

前端代码

:data="paramsData"

在computed中监听classifyid,实时改变paramsData的值

  computed: {
    paramsData: function () {
      let params = {
        classifyid:this.classifyid
      }
      return params
    }
  },

2、第二种方法是用url传参,会比第一种方法简单一些,后端使用@PathVariable来获取

@PostMapping(value="/importReportData/{classifyid}")
@ResponseBody
public void importReportData(@RequestParam("file") MultipartFile file, @PathVariable("classifyid") String classifyid)

前端:

:action="uploadURL"
 this.uploadURL = "/api/dataInput/importReportData/"+this.classifyid
 //需要个延时使url先改变再上传
 setTimeout(function (){
   _this.$refs.upload.submit()
 }, 500)
Logo

前往低代码交流专区

更多推荐