2017-10-25 5 views
0

Können Sie mir Quellcode zum Hochladen mehrerer Bilder zeigen? Ich habe versucht, mehrere Bilder auf meine Firebase hochzuladen. Also verwende ich react-native-Bild-Crop-Picker für ausgewählte Bilder, und dann reagieren native-fetch-Blob für die Bilder vor dem Upload in Firebase konvertieren. Nach dem Auswählen von Bildern schleife ich die Arrays und konvertiere dann, um den Blob innerhalb der Schleife zu holen. Aber manchmal funktioniert es, aber manchmal ist die Bild-URL leer. Ich hoffe, dass ich hier die Antwort auf dieseNative multiple Bilder reagieren

+0

Sie sollten wahrscheinlich Ihre Frage aktualisieren etwas klarer zu sein mit, wie Sie Ihre Bilder hochgeladen werden und welche Bibliotheken Sie verwenden. –

+0

Ich habe meine Frage aktualisiert, ist das genug? Eigentlich brauche ich hier nur Quellcode. – user8784065

+0

@ user8784065 überprüfen Sie meine Antwort –

Antwort

2

Versuchen Sie finden:

const uploadImages = (photos) => { 
    const uploadImagePromises = _.map(photos, (p, index) => uploadImage({ uri: p, imageName: "image_" + index })) 
    const urls = await Promise.all(uploadImagePromises) 
    console.log(urls); 
} 


const uploadImage = ({ uri, imageName }) => { 
    const Blob = RNFetchBlob.polyfill.Blob 
    const fs = RNFetchBlob.fs 
    window.XMLHttpRequest = RNFetchBlob.polyfill.XMLHttpRequest 
    window.Blob = Blob 
    const mime = 'image/jpg' 
    return new Promise((resolve, reject) => { 
    const uploadUri = Platform.OS === 'ios' ? uri.replace('file://', '') : uri 
    let uploadBlob = null 
    const imageRef = firebase.storage().ref('/images/').child(imageName) 
    fs.readFile(uploadUri, 'base64') 
     .then((data) => { 
     return Blob.build(data, { type: `${mime};BASE64` }) 
     }) 
     .then((blob) => { 
     uploadBlob = blob 
     return imageRef.put(blob, { contentType: mime }) 
     }) 
     .then(() => { 
     uploadBlob.close() 
     resolve(imageRef.getDownloadURL()) 
     }) 
     .catch(error => { 
     console.log("error", error); 
     reject() 
     }) 
    }) 
} 
+0

Ich habe diesen Herrn versucht. Aber wird das verwendet, wenn ein Bild hochgeladen wird? – user8784065

+0

Rufen Sie einfach uploadImages durch ein Bildpfade-Array –

+0

Ja, Sir, ich weiß. Aber ich verwirrt, wenn ich Bilder URL zu meiner Datenbank hinzufügen muss Herr. – user8784065

Verwandte Themen