我正在尝试使用Cordova相机插件更新Firebase个人资料图片。但是我有一个错误。有什么想法吗?
async openLibrary() {
const options: CameraOptions = {
quality: 70,
destinationType: this.camera.DestinationType.DATA_URL,
sourceType: this.camera.PictureSourceType.PHOTOLIBRARY,
encodingType: this.camera.EncodingType.JPEG,
saveToPhotoAlbum: false
};
return await this.camera.getPicture(options);
}
async addPhoto() {
const libraryImage = await this.openLibrary();
this.photoCamera = 'data:image/jpeg;base64,' + libraryImage;
}
enregisterPseudoo() {
this.user.updateProfile({
displayName: this.pseudo,
photoURL:(this.photoCamera)
}).then(data => {
this.navCtrl.push(TabsPage, {
name: this.pseudo,
photo:(this.photoCamera),
});
});
}
网址太长了吗?
答案 0 :(得分:2)
Firebase身份验证中用户配置文件中的photoURL
必须是到现有图像的链接。您正在尝试将图像存储为Firebase身份验证无法处理的数据URL。
因此,您必须将数据上传到图像托管服务(例如Cloud Storage for Firebase),然后将结果URL保存到用户个人资料中。
答案 1 :(得分:0)
这对我有用。将图像存储在Firebase存储中,然后获取
template< class T, class U >
concept my_same_as = SameHelper<T, U> && SameHelper<U, T>;
})