上传的图像(base64)在firebase putString方法

时间:2018-04-08 18:22:39

标签: firebase react-native firebase-storage

我使用putString方法

将图像(base64)上传到firebase
uploadTask = fireStorage.ref('/your/path/here').child('file_name').putString(snapshot, 'base64', { contentType: 'image/jpg' });

它是一个有效的base64内容(因为它是一个巨大的字符串,这就是为什么我可以将它粘贴在这里。但我已经通过将其解码为在线图像来检查它)但它开始这样的事情

/9j/4AAQSkZJRgABAQAAkACQAAD/4QCMRXhpZgAATU0AKgAAAAgABQES

上传的(到firebase)图像看起来像一个1pixel的盒子。

这是网址图片

https://firebasestorage.googleapis.com/v0/b/manage-my-rides-1493889860531.appspot.com/o/lala%2Fchild.jpg?alt=media&token=63c9078a-7124-41a1-9349-6a2f2c6d8379

火焰守则

var uploadedFile = await fireStorage.ref("lala").child("child.jpg").putString(snapshot, 'base64', {
        contentType: 'image/jpg'
    });
var url = await fireStorage.ref("lala").child("child.jpg").getDownloadURL();
    console.log(url);

1 个答案:

答案 0 :(得分:3)

我已尝试使用各种方法设置$ awk '/^Name\(s\):/ && ++c==6 {printf "%2.2f", 100 - $3; exit}' file ,但它似乎无法正常工作。 存储期间图像似乎已损坏

这是一个快速的解决方法

base64

示例

fetch(YOUR_ORIGINAL_BASE_64_STRING)
    .then(res => res.blob())
    .then(blob => 
      fireStorage.ref('/your/path/here').child('file_name').put(blob);
    )