Ich möchte Bilder von meiner App auf S3-Server hochladen. Ich habe alle Daten und Codes berechnet (getestet mit Curl am Computer), aber ich kann nicht herausfinden, wie man 'fetch' richtig aufruft. Ich erhalte eine Antwort:React-native Bild hochladen zu Amazon s3
'Mindestens eine der von Ihnen angegebenen Bedingungen wurde nicht eingehalten. Bedingung: Bucket POST muss vom Typ multipart/form-data sein.
Wie kann ich Formulardaten in react-natives fetch wiederherstellen? Es gibt keine FormData, an die ich mich anhängen und dann wie in Beispielabruf senden kann.
EDIT: Danke @ philipp-von-weitershausen, dass du diese Funktion hinzugefügt hast. Jedoch habe ich einige Probleme, es zu nennen. Ich erhalte "Nicht unterstützten BodyInit-Typ". Gefunden, weil in fetch.js: "support.formData" gibt false zurück. Was vermisse ich, wenn ich anrufe?
Mein Codebeispiel:
var form = new FormData();
form.append("FormData", true)
form.append("name", this.state.invoiceNumber)
form.append("key", this.state.invoiceNumber)
form.append("Content-Type", "image/png")
form.append('file', this.props.uri)
//alert(FormData.prototype.isPrototypeOf(form))
fetch(amazon_url,{body: form,mode: "FormData", method: "post", headers: {"Content-Type": "multipart/FormData"}})
.then((response) => response.json())
.catch((error) => {
alert("ERROR " + error)
})
.then((responseData) => {
alert("Succes "+ responseData)
})
.done();
Haben Sie ein Beispiel für Ihren endgültigen Arbeits Code für diese? Ich habe auch Probleme. –
In der Tat, haben Sie ein Beispiel, nur in der Lage zu sein, die Formularvariablen (ohne die Bilder - zu sehen, da der nächste RN Build Bildunterstützung hinzufügt). –
[reactive-native-fetch-blob] (https://github.com/wkh237/react-native-fetch-blob) kann dies für Sie tun. – Xeijp