其他数据不会被推入数据库,只有图像
Posted
技术标签:
【中文标题】其他数据不会被推入数据库,只有图像【英文标题】:Other data does not get pushed into database, only image 【发布时间】:2022-01-10 13:38:34 【问题描述】:下面,我有一个函数试图在将图像上传到 Firebase 存储之后将目的地添加到我的实时数据库中。
上传图片并返回网址:
Future uploadDestinationImage(String name) async
final imageref = FirebaseStorage.instance
.ref()
.child('destinations')
.child(name + '.jpg');
imageref.putFile(selectedImage!);
return await imageref.getDownloadURL();
将数据添加到数据库中:
void addDestination(String name, String details, var category) async
if (category == 'Destination')
uploadDestinationImage(name).then((value)
String desturl = value;
String key = destdatabaseref.child('Destinations').push().key;
destdatabaseref.child('Destinations').child(key).set(
'id': key,
'name': name,
'description': details,
'category': category,
'photoURL': desturl
);
);
但是,该代码仅将图像上传到 Firebase 存储,而不会将数据推送到我的实时数据库。某处有错误吗?还有其他方法可以让我返回图片的downloadURL并将其存储到数据库中吗?
【问题讨论】:
【参考方案1】:putFile
调用是异步的,所以你也需要等待:
await imageref.putFile(selectedImage!);
return await imageref.getDownloadURL();
【讨论】:
以上是关于其他数据不会被推入数据库,只有图像的主要内容,如果未能解决你的问题,请参考以下文章
Angular2,Typescript:如何将对象数组推入另一个对象数组,其中只有几个对象字段
jQuery uploadify 将图像存储在 mysql 中
mongoose.findByIdAndUpdate 只会保存被推入数组的对象的第一个键值