参考链接:

axios 上传file文件遇到的坑, no multipart boundary was found

axios 封装使用、拦截特定请求、判断所有请求是否加载完毕

前端请求方法中

      const formData = new FormData()

      formData.append('role', 1)
      formData.append('excelFile', fileObj)

      const config = {
        headers: {
          'Content-Type': 'multipart/form-data'
        }
      }

      const { data: res } = await this.$http.post('admin/user/add', formData, config)

需要设置请求头的 Content-Type 为 multipart/form-data (我解决问题查的有很多文章说不需要设置,我试过了没用,不设置就是自动添加默认的类型,而不是我们要的 FormData)

注意:不要序列化 formData ,post请求需要序列化(通常用qs.stringify()),但用post请求传 FormData 不需要

如果序列化了 formData ,后端接收的参数就会为null(这个问题弄了我半天,才发现是序列化的问题)

附赠:判断axios请求数据是否为formData类型还是普通Object

后端接收参数

@PostMapping("/admin/user/add")
@ResponseBody
public Map<String, Object> addUserByExcel(@ModelAttribute UserExcelVO userExcelVO) throws Exception {

}

后端用 java对象 接收参数

注意:跨域问题

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐