【发布时间】:2018-03-04 22:33:05
【问题描述】:
我尝试将图像上传到 Firebase。我正在使用“react-native-image-picker”,但每次我都遇到错误。 Firebase 存储:字符串与格式“base64”不匹配:发现无效字符。我看到很多与此问题相关的帖子,但没有一个有效。
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;
}
}
);
};
【问题讨论】:
标签: firebase react-native base64 es6-modules