【问题标题】:Required request part is not present with react反应中不存在所需的请求部分
【发布时间】:2025-12-16 05:50:02
【问题描述】:

我收到“所需的请求部分‘文件’不存在。” 它适用于邮递员,但不适用于 react js。 我正在尝试在 Spring boot restfull api 中调用端点。

按照代码:

function sendUploadFileRequest(file, userName, caseRef) {
  /* var formData = {
    username: userName,
    caseRef: caseRef,
    file: file
  }; */

  let formData = new FormData();

  formData.append('file', file);

  const requestOptions = putRequestWithBodyUploadFile(formData)
  console.log(requestOptions);
  return fetch(
    `${config.apiUrl}/distribution-cases/uploadFileToSharepoint?access_token=${authHeader().Authorization}`,
    requestOptions
  ).then(handleResponse);
}
export function putRequestWithBodyUploadFile(body) {
  return {
    method: 'POST',
    headers: {

      'Content-Type': 'multipart/form-data; boundary=AaB03x',

      'Access-Control-Allow-Origin': '*',
      'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type',
      'Access-Control-Request-Method': '*'

    },
    body: JSON.stringify(body)
  }
}
@PostMapping(value = "/distribution-cases/uploadFileToSharepoint", consumes = "multipart/form-data")
    @ApiOperation(value = "Upload a file to sharepoint. This api will upload a file to Sharepoint for the associated user. Once the file has been uploaded  an email will be sent to the case owner. ", httpMethod = "PUT")
    public ResponseEntity<StringBuilder> uploadFileToSharepoint(@RequestParam("file") MultipartFile file) throws Exception {
        StringBuilder errorMessage = new StringBuilder();
}

【问题讨论】:

    标签: reactjs spring-boot


    【解决方案1】:

    我的问题是我在请求正文中使用 JSON.stringify() 将 dataForm 转换为 json。 NOT 需要带有 content = multipart/form-data 的标头,因为浏览器会自动处理它。

    【讨论】: