如何将React-Native-Fetch-Blob Blob转换为base64 / Image

时间:2017-04-19 10:22:47

标签: react-native react-native-fetch-blob

我正在尝试使用React-Native-Fetch-Blob在Firebase.Storage中存储图像,我最终得到了一些存储空间,但存储中的文件现在是完全无意义/压缩数据,我无法真正使用任何事情。

如何将blob变回BASE64或图像,以便我可以在我的应用程序中使用该图像

`

upLoadImage(image, mime = 'application/octet-stream') {
    const imageRef = firebase.storage().ref('images').child('image_001')
    let uploadBlob = null
    console.log('phase 2');
    Blob.build(image, {
        type: `${mime};BASE64`
    }).then((blob) => {
        console.log(imageRef.toString());
        uploadBlob = blob
        imageRef.put(blob, {
            contentType: mime
        })
        console.log('phase 2');
        console.log(imageRef.toString());
        console.log(imageRef.getDownloadURL());
        imageRef.getDownloadURL()
    }).catch((error) => {
        console.log(error.toString());
    })
}

`

代码基于此项目https://github.com/dailydrip/react-native-firebase-storage/blob/master/src/App.js#L43-L69

1 个答案:

答案 0 :(得分:0)

下面的代码将URL转换为base64图像

   RNFetchBlob.fetch("GET", "ImageURL").then(resp => {
   base64image.push("data:image/png;base64," + resp.data);              
        console.log(base64image);   // -> your base64 image       
   });