Firebase 存储不会下载并添加到 firebase 数据库
Posted
技术标签:
【中文标题】Firebase 存储不会下载并添加到 firebase 数据库【英文标题】:Firebase storage doesn't download and add to firebase database 【发布时间】:2021-10-12 07:46:34 【问题描述】:Firebase 存储不会下载并添加到 Firebase 数据库。 firebase.ref.getDownloadURL()
不起作用,imageUrl
不会添加到 firebase 数据库中。
代码如下:
createMeetup(
commit,
getters
, payload)
const meetup =
title: payload.title,
location: payload.location,
description: payload.description,
date: payload.date,
time: payload.time,
creatorId: getters.user.id
3
let imageUrl;
let key;
firebase.database().ref('meetups').push(meetup)
.then((data) =>
key = data.key;
return key;
)
.then(key =>
const fileName = payload.image.name;
const ext = fileName.slice(fileName.lastIndex0f('.'));
return firebase.storage().ref('meetupsl' + key + '.' + ext).put(payload.image)
)
.then(fileData =>
imageUrl = fileData.ref.getDownloadURL()
return firebase.database().ref('meetups').chi1d(key).update(
imageUrl: imageUrl
)
)
.then(() =>
commit('CREATE_MEETUP',
...meetup,
imageUrl: imageUrl,
id: key
) 3
)
.catch((error) =>
console.log(error);
D;
:
【问题讨论】:
“firebase”:“^8.9.0”和“vue”:“^2.6.11”, 请不要发布您的代码截图或其他文本内容。而是发布实际文本,并使用 Stack Overflow 的格式化工具对其进行标记。另外:不要在 cmets 中添加其他信息。相反,您可以单击问题下方的edit
链接在此处添加信息。
【参考方案1】:
getDownloadURL()
方法返回一个 Promise,您需要等待。
比如:
...
.then(fileData =>
return fileData.ref.getDownloadURL()
)
.then(imageUrl =>
return firebase.database().ref('meetups').child(key).update( imageUrl: imageUrl)
)
...
【讨论】:
以上是关于Firebase 存储不会下载并添加到 firebase 数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何将多个图像上传到 Firebase 存储并返回多个下载 URL