字符串与格式'base64'不匹配:找到无效字符,目前只能从其他Blob创建Blob反应本机

问题描述:

我尝试将图像上传到Firebase。我正在使用'react-native-image-picker',但每当我收到错误。 Firebase存储:字符串与格式“base64”不匹配:找到无效字符。我看到很多帖子与此问题有关,但没有任何工作。字符串与格式'base64'不匹配:找到无效字符,目前只能从其他Blob创建Blob反应本机

uploadImage = response = > 
{ 
    let metadata = { 
     contentType: response.type 
    } 
    let randomId = shortid.generate() 
    let fileExtension 
    if (Platform.OS == "android") fileExtension = response.type.split("/")[1] 
    else 
    { 
     fileExtension = response.fileName.split(".")[1] 
    } 
    let storagePath = 
     "/Base_Url/" + 
     this.props.username + 
     "/" + 
     this.props.sessionId + 
     "/" + 
     randomId + 
     "." + 
     fileExtension 
    let storingRef = firebase.storage() 
     .ref(storagePath); 
    storingRef.putString(response.data, "base64url", metadata) 
     .on(
      firebase.storage.TaskEvent.STATE_CHANGED, 
      snapshot = > 
      { 
       var progress = 
        snapshot.bytesTransferred/snapshot.totalBytes * 100; 
       if (progress === 100) 
       { 
        let downloadURL = FireBaseUtils.getDownloadURL(storagePath); 
        this.setState(
        { 
         url: snapshot.downloadURL 
        }); 
       } 
       else 
       { 
        switch (snapshot.state) 
        { 
        case firebase.storage.TaskState.PAUSED: 
         break; 
        case firebase.storage.TaskState.RUNNING: 
         break; 
        } 
       } 
      }, 
      error = > 
      { 
       switch (error.code) 
       { 
       case "storage/unauthorized": 
        break; 
       case "storage/canceled": 
        break; 
       case "storage/unknown": 
        break; 
       } 
      } 
    ); 
}; 

尝试使用putString(message, 'base64')(不base64url

如果斑点,文件或Uint8Array不可用,则可以使用 putString()方法上载生,BASE64, base64url或data_url 编码的字符串到云存储。

https://firebase.google.com/docs/storage/web/upload-files

希望它可以帮助

+1

我试图putString(消息 '的base64'),但它也没有工作 –

+0

你能尝试添加'子(23)',好吗?就像'toringRef.putString(response.data.substring(23),“base64”)'让我知道它是否有帮助 – soutot

+0

是的,我已经尝试....那一个 –