Я создал метод для загрузки фотографии и установки ее в качестве фотографии профиля пользователя. Он работает локально , но не устанавливает его в базе данных, поэтому, когда я обновляю веб-страницу, изменения исчезают.
Компонент
Из компонента я загружаю фотографию в FireBase, я получаю ссылку и показываю ее с помощью HTML (работает)
//Upload a new picture to the database as a profile picture
uploadProfilePicture(event) {
const id = this.auxAuth.uid + "_updatedPhoto";
this.ref = this.afStorage.ref(id);
this.task = this.ref.put(event.target.files[0]);
this.downloadURL = this.task.downloadURL();
let user = firebase.auth().currentUser;
this.authService.updateProfilePicture(user, this.downloadURL);
}
Услуга
Из службы я пытаюсь сделать то же самое в firebase, но он не работает
//Update the user's profile picture
updateProfilePicture(user, url) {
user
.updateProfile({
photoURL: url.value
})
.then(res => {
this.flashMessage.show("UpdatedProfilePicture", {
cssClass: "alert-success",
timeout: 3000
});
})
.catch(function(error) {
this.flashMessage.show(error, {
cssClass: "alert-danger",
timeout: 3000
});
});
}
Полагаю, мне не хватает этого действия в then
, но я не совсем понимаю, как мне это сделать