I try to upload the image into Firebase. I am using 'react-native-image-picker' but every time i am getting error. Firebase Storage: String does not match format 'base64': Invalid character found. I saw many post Related to this issue but none is working.
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;
}
}
);
};