2016-12-10 4 views
1

Ich habe alle Fragen durchgesehen, die ich finden konnte, aber es sieht so aus, als hätte niemand mein Problem.reactive-native FormData-Upload sendet nicht die richtigen Daten

Ich laufe react-native 39 und ich möchte ein Bild hochladen. Es sieht so aus, als ob es möglich ist, es mit FormData hochzuladen.

Mit der Methode bekomme ich nur [Objekt Objekt] im Körper der Anfrage. statt xhr Mit holen erhalte ich einige Daten, aber jetzt, wo ich erwarten würde, gibt es kein Bild, das ich von dem Server

Antwort

1

Das Problem bekommen kann, ist, dass das Formular über keine Ahnung hat, was die Information in dem Objekt gespeichert, dass Sie versuchen, Mittel zu kodieren, so wird es nicht die Bilddaten von dem Gerät holen und stattdessen einfach die "richtige" Darstellung herausfinden, die das photo Objekt haben könnte, und das ist normalerweise eine Zeichenkette. In diesem Fall [object Object]. Natürlich wird das von Ihrem Server nicht akzeptiert. Tatsächlich geschieht dies bei allen nicht-primitiven JavaScript-Typen. Sie sollten JSON.stringify(photo) verwenden, um es zuerst in einen JSON-String zu konvertieren.

Stattdessen können Sie versuchen, die Bilddaten von der Kamera in einem Format abzurufen, das FormData beispielsweise eine Zeichenfolge verstehen kann, die Ihr Bild in base64 codiert. Dies ist keine Funktionalität von React Native, aber eine schnelle Suche hat einige vielversprechende Pakete abgerufen. Vielleicht haben Sie einen Blick auf:

Dann, wenn Sie Ihr Bild im Base64-Format haben, können Sie das tun, folgende:

Hoffe, dass hilft.

+0

ok und das über den URI-Schlüssel auf dem Foto, scheinbar reagieren native versucht, das zu verstehen und automatisch konvertiert es. zumindest habe ich die verschiedenen Themen rund um – DevAlien

+0

gelesen Oh, das wusste ich nicht. Könnten Sie vielleicht diese Links teilen? Das wäre sehr hilfreich. – martinarroyo

Verwandte Themen