我有一个React Web应用程序,它获取一个图像,将其转换为base64,然后将其发送到我的REST端点。
尝试将图像直接从前端保存到firebase storage
效果良好。
当我试图从REST中保存它时,它抛出:
[FirebaseStorageError [FirebaseError]: Firebase Storage: String does not match format 'base64': Invalid character found (storage/invalid-format)] {
code: 'storage/invalid-format',
customData: { serverResponse: null }
}
我这样初始化我的存储:
const firebaseStorage = () => {
if (firebase.apps.length === 0) {
firebase.initializeApp(config.firebaseConfig);
}
return firebase.storage().ref();
};
我试着上传到这样的存储:
const URI = `images/${uid}/avatar`;
const ref = firebaseStorage().child(URI);
await ref.putString(image64, "data_url");
编辑
在将base64图像转换为Blob
并尝试通过ref.put(blob)
将其保存到存储器后,我得到以下错误:
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'byteLength' of undefined
您尝试过ref.putString(image64,'base64url'(吗?