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
})
}
希望这对您有所帮助。编码愉快!
我正在从事基于 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
})
}
希望这对您有所帮助。编码愉快!