【问题标题】:File Upload using spring rest and axios, no multipart boundary was found使用spring rest和axios上传文件,没有找到多部分边界
【发布时间】:2020-10-18 18:40:15
【问题描述】:

我在使用 spring rest 和 react 和 axios 上传文件时遇到了一些问题, 我的后端代码是

@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity uploadFile(@RequestParam MultipartFile file) {
    return ResponseEntity.ok().build();
}

我可以使用邮递员上传文件,但是使用 axios 时出现了一些错误。

嵌套异常是 org.apache.commons.fileupload.FileUploadException:请求被拒绝,因为没有找到多部分边界

这是我的代码:

let formData = new FormData();
formData.append("file", this.state.selectedFile);

axios({
  method: "post",
  url: url,
  data: {
    formData
  }
})

如果我放了

headers: { "Content-Type": "multipart/form-data" }

我也有错误, 谁能告诉我我的错误是什么?

【问题讨论】:

    标签: reactjs spring file-upload axios multipartform-data


    【解决方案1】:

    这可能是因为您正在创建一个新对象并在该对象内发送数据 试试这个 data: formData

    【讨论】:

      【解决方案2】:
      let formData = new FormData();
      formData.append("file", this.state.selectedFile);
      
      axios({
        method: "post",
        url: url,
        data: {  formData},
      {...axios.default.headers,
      ...{headers: { "Content-Type": "multipart/form-data" }}
      
      }
      
      })
      

      【讨论】:

        【解决方案3】:

        你不需要放任何标题,它会自动决定标题的参数,当你手动做的时候你需要明确决定几个很难判断的参数,所以不要给标题

        【讨论】:

        • 感谢您的回复,是的,没错,要么我没有放任何标题,要么我无法连接到后端。
        猜你喜欢
        • 1970-01-01
        • 2021-08-22
        • 2013-10-08
        • 2013-07-02
        • 2018-01-26
        • 2014-05-03
        • 2014-01-03
        • 2013-02-19
        • 2016-08-14
        相关资源
        最近更新 更多