ReactJS:无法在一次 POST 调用中发送 JSON 数据和 PDF 文件

ReactJS: Unable to send JSON data and PDF file in one POST call

我正在从事基于 GRAILS-ReactJs 的项目,该项目涉及一个场景,我需要在一个 POST 调用中发送简历和 JSON 数据。 但是,我可以在一次调用中发送文件,但我得到的数据为空。 我在我的服务器端使用 Grails-3 并接收 POST 请求作为多部分文件。我希望 JSON 和多部分文件 object 合并为一个 object 以发送到服务器并希望在服务器端接收文件和 JSON 数据. 我试过更改 header 的内容类型,但它不起作用。

您不能 post JSON 数据与文件或任何其他附件一起使用。您可以 post 它作为您后端的表单数据。表单数据作为多部分数据传递给具有相关边界的服务器。这是供您参考的示例代码。您可以将 json 数据作为键值对与 formData 一起传递。

export function postAttachment (fileData, fileName) {
  let formData = new FormData()
  formData.append('prop1', 'value1')
  formData.append('prop2', 'value2')
  formData.append('upload', fileData, fileName)
  return fetch('/your/endpoint', {
    headers: {
      'Accept': 'application/json',
      'header1': 'headerValue1'
    },
    method: 'POST',
    body: formData
  })
}

希望这对您有所帮助。编码愉快!