将图像从rest端点保存到firebase存储不起作用,但从前端起作用



我有一个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'(吗?

相关内容

最新更新