Desidero caricare immagini dalla mia app al server S3. Ho calcolato tutti i dati e i codici (testato usando curl sul computer) ma non riesco a capire come chiamare correttamente 'fetch'. Ricevo risposta:Immagine di caricamento nativa di React su amazons s3
'Almeno una delle pre-condizioni specificate non è stata mantenuta. Condizione: POST Bucket deve essere di tipo enclosure-multipart/form-data '
Come posso ricreare i dati di modulo in recupero reagenti nativi? Non ci sono FormData a cui posso aggiungere e quindi inviarlo come nell'esempio di fetch.
MODIFICA: Grazie @ philipp-von-weitershausen, greare di aver aggiunto questa funzione. Tuttavia ho qualche problema chiamarlo. Ricevo "Tipo BodyInit non supportato". Trovato perché in fetch.js: "support.formData" restituisce false. Cosa mi manca quando chiamo fetch?
mio esempio di codice:
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();
Hai un esempio del codice finale di lavoro per questo? Anch'io sto avendo problemi. –
In effetti, hai un esempio di solo poter pubblicare le variabili del modulo (senza le immagini - visto che la prossima build RN aggiunge il supporto per le immagini). –
[react-native-fetch-blob] (https://github.com/wkh237/react-native-fetch-blob) può farlo per te. – Xeijp