ReactJS: Klarer ikke å sende JSON-data og PDF-fil i ett POST-kall
Jeg jobber med et GRAILS-ReactJs-basert prosjekt som involverer et scenario hvor jeg trenger å sende CV og JSON-data i én POST-forespørsel. Jeg klarer imidlertid å sende filen i én forespørsel, men dataene jeg får er null. Jeg bruker Grails-3 på serversiden og mottar POST-forespørselen som en multipart-fil. Jeg ønsker at både JSON og Multipart-filobjektet skal kombineres i ett objekt for å sendes til serveren, og ønsker å motta både filen og JSON-dataene på serversiden. Jeg har forsøkt å endre innholdstypen i headeren, men det fungerer ikke.
Svar #1
Du kan ikke sende JSON-data sammen med filen eller noen annen vedlegg. Du kan sende det som formdata til backend. Formdataene sendes som multipart-data til serveren med relevante grenser. Her er et eksempel på kode for din referanse. Du kan sende JSON-data sammen med formData som nøkkel-verdi-par.
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
})
}
Håper dette hjelper. God koding!
