【发布时间】:2017-05-09 00:46:17
【问题描述】:
我正在开发 react-native,我需要使用 Firebase Storage 将图像上传到 Firebase。我正在使用react-native-image-picker 从手机中选择图像,这为我提供了 base64 编码数据。
当我尝试将图像上传到 Firebase 时,它给了我错误 Firebase Storage: String does not match format 'base64': Invalid character found,但我已经检查了该字符串是否是带有正则表达式的有效 base64 字符串!
我已经从这里阅读了一些答案,但我尝试了所有这些。这是我的代码:
function uploadImage(image){
const user = getCurrentUser();
const refImage = app.storage().ref(`profileImages/${user.uid}`);
refImage.putString(image, 'base64').then(() => {
console.log('Image uploaded');
});
}
图像选择器:
ImagePicker.showImagePicker(ImageOptions, (response) => {
if (response.didCancel) {
console.log('User cancelled image picker');
}
else if (response.error) {
console.log('ImagePicker Error: ', response.error);
}
else if (response.customButton) {
console.log('User tapped custom button: ', response.customButton);
}
else {
uploadImage(response.data);
}
});
【问题讨论】:
-
您找到解决方案了吗?我正在做同样的事情,但似乎无法让它发挥作用。
-
@activelogic 我最终使用 react-native-fetch-blob 上传 blob 而不是 base64 字符串
-
我收到此错误,但仅在模拟器中。它在生产模式下工作正常。剥离开头会出现“不是有效的数据 URL”错误,所以不是这样。
标签: javascript android firebase react-native firebase-storage