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

时间:2017-07-08 06:23:33

标签: json reactjs typescript grails3.2.0

我正在开发基于GRAILS-ReactJs的项目,该项目涉及我需要在一次POST调用中发送RESUME和JSON数据的场景。 但是,我能够在一次调用中发送文件,但我得到的数据为空。 我在服务器端使用Grails-3并以多部分文件的形式接收POST请求。我希望将JSON和Multipart文件对象组合在一个对象中以发送到服务器,并希望在服务器端接收文件和JSON数据。 我已经尝试更改标题的内容类型但是没有用。

1 个答案:

答案 0 :(得分:2)

您无法将JSON数据与文件或任何其他附件一起发布。您可以将其作为表单数据发布到后端。表单数据作为多部分数据传递给具有相关边界的服务器。这是一个示例代码供您参考。您可以将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
  })
}

希望这会有所帮助。快乐的编码!