Firebase Storage: String does not match format 'base64': Invalid character found

前端 未结 4 1276
南旧
南旧 2021-02-19 05:15

I\'m working on a react-native and I need to upload an image to Firebase using Firebase Storage. I\'m using react-native-image-picker to select the image from the phone which gi

相关标签:
4条回答
  • 2021-02-19 05:51

    if image is a base64 data URL you can use 'data_url' parameter and metadata:

    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');
      });
    }
    
    0 讨论(0)
  • 2021-02-19 05:51

    I use split().

    function uploadImage(image){
      const user = getCurrentUser();
      const refImage = app.storage().ref(`profileImages/${user.uid}`);
    
      refImage.putString(image.split(',')[1], 'base64').then(() => {
        console.log('Image uploaded');
      });
    }
    
    0 讨论(0)
  • 2021-02-19 06:07

    you need to remove this string from your image variable "data:image/jpeg;base64,. need only data

    0 讨论(0)
  • 2021-02-19 06:17

    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');
          });
        }
    
    0 讨论(0)
提交回复
热议问题