cor*_*san 10 javascript android firebase react-native firebase-storage
我正在使用本地反应,我需要使用Firebase存储将图像上传到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);
  }
});
image.substring(23)
function uploadImage(image){
      const user = getCurrentUser();
      const refImage = app.storage().ref(`profileImages/${user.uid}`);
      refImage.putString(image.substring(23), 'base64').then(() => {
        console.log('Image uploaded');
      });
    }
如果image是base64数据URL,则可以使用'data_url'参数和元数据:
function uploadImage(image){
  const user = getCurrentUser();
  const refImage = app.storage().ref(`profileImages/${user.uid}`);
  refImage.putString(image, 'data_url', {contentType:’image/jpg’}).then(() => {
    console.log('Image uploaded');
  });
}
| 归档时间: | 
 | 
| 查看次数: | 3476 次 | 
| 最近记录: |