2017-01-17 1 views
1

Ich versuche, Daten (Dateien und JSON) mit fetch mit react und redux zum Server zu senden.Senden von Dateien und JSON-Daten mit Fetch

Mein Code ist wie folgt:

export function saveUser(user){ 
    return function(dispatch){ 

    fetch(`${data.ROOT_URL}/save-user/`, { 
     method: 'post', 
     // body: How??? 
    }) 
     .then(response => { 

      if (response.status !== 200) { 
       console.log('Looks like there was a problem. Status Code: ' + response.status); 
       return; 
      } 

      console.log('You are successfully registered!: ' + response.status); 
     }) 

     .catch(function (error) { 
      console.log(error); 
     }); 
    } 
} 

Und die Benutzerdaten wie folgt:

enter image description here

So ich eine große Objekte mit JSON-Daten und Dateien (Fotos haben, Dokumente), aber ich kann es nicht an den Server senden.

Irgendwelche Vorschläge?

EDIT

Nach

headers: { 
     'Content-Type': 'application/json' 
}, 
body: JSON.stringify(user) 

Der Rest der Daten hinzugefügt ist ok, aber für die Dateien, in denen ich hochgeladene Dateien bekommen sollte, bekomme ich nur ein leeres Objekt für die Datei, die ist hochgeladen. Wenn die Datei nicht hochgeladen wird, ist der Wert file null, wie es sein sollte.

"files":[ 
    {"file_type":"statutenFile","values":{"active":false,"fileName":"Articles of Association","file":null}}, 
    {"file_type":"blankLetterheadFile","values":{"active":false,"fileName":"Blank letterhead","file":null}}, 
    {"file_type":"companyPhotoFile","values":{"active":false,"fileName":"Company photo","file":null}}, 
    {"file_type":"idCardFile","values":{"active":true,"fileName":"check","file":{}}} 
] 

Der letzte idCardFile hochgeladen, aber ich bekomme "file":{}

Antwort

0

Sie haben einen Header enthalten, der die Daten Sie senden beschreiben: JSON. Und Sie müssen dieses Objekt stringieren, um es an den Server zu senden:

+0

Es funktioniert nicht. 'Datei' ist ein leeres Objekt, obwohl es hochgeladen wurde – Boky

Verwandte Themen