я создаю это простое приложение, используя Vue / vuex и firebase, где я хочу облегчить пользователям загрузку изображений, и как только приложение будет обновлено, эти изображения будут получены из хранилища firebase, модифицируя текущую базу данных новым загруженным изображением. Вот мой код:
createMeet({ commit, getters }, payload) {
const newMeet = {
title: payload.title,
description: payload.description,
location: payload.location,
date: payload.date,
video_url: payload.video_url,
idCreator: getters.getUser.id
}
let image_url;
let key;
firebase.database().ref('meetUps').push(newMeet)
.then((data) => {
console.log(data)
key = data.key
return key
})
.then(key => {
const filename = payload.image.name
const fileExtension = filename.slice(filename.lastIndexOf('.'))
return firebase.storage().ref('meetUps/' + key + '.' + fileExtension).put(payload.image)
})---the image get storaged in the firebase storage
.then(fileData => {
image_url = fileData.metadata.downloadURLs()
return firebase.database().ref('meetUps/').child(key).update({ image_url: image_url })
})--------->updating in the database the storaged object in there passing a new paranmeter
image_url, with a new value contained in variable iimage_url
.then(() => {
commit('meetsCreator', {
...newMeet,
image_url: image_url,------------>putting changes in some mutation which modifies the state
id: key,
})
})
.catch(error => {
console.log(error)
})
// commit('meetsCreator',newMeet)
},
изображения получают pu sh в хранилище базы данных, но как только я пытаюсь изменить базу данных, добавление этого нового элемента (изображения) с помощью downloadUrls не работает. Любой совет, пожалуйста? .... заранее спасибо !!!