这个问题在这里已有答案:
在我的应用程序中,我可以从我的相机中截取屏幕截图。然后,我将图像上传到Firebase存储并获取下载链接。现在,我想将此链接添加到我的数据库中。我可以通过以下代码执行此操作:
fun storeImageUrlToFBDatabase(userId: String, cameraName: String, imageUrl: String) {
val map = mapOf(cameraName to imageUrl)
val ref = getFBDatabaseReference().getReference("users/$userId/images")
ref.setValue(map)
.addOnSuccessListener {
Logger.d("$FB_DATABASE_TAG, Write was successful, $it")
}
.addOnFailureListener {
Logger.e("$FB_DATABASE_TAG, Write failed: $it")
}
}
然而,问题是images
下的当前项目将被我推进的新项目所取代。我的期望是这样的:
但是,在images
下每次推送/插入后我得到的只有一个项目/记录。问题是什么?谢谢。
您需要使用键值来存储新链接。这可以通过两种方式完成:
select ref = getFBDatabaseReference()。getReference(“users / $ userId / images”);
//you need to find next xth image somehow
ref.child('imagex').setValue("map");
select ref = getFBDatabaseReference()。getReference(“users / $ userId / images”);
val newRef = ref.push();
newRef.setValue("map");