Firebase-Cloud-Function缩略图存储到动态数据库路径

时间:2017-10-30 01:00:48

标签: firebase firebase-realtime-database firebase-storage google-cloud-functions

我成功使用了generate-thumbnail云功能。我的代码正确地将已调整大小的图像保存为' thumb _',将已调整大小的图像存储到正确的存储位置,并将downloadURL写入我的实时数据库。

云功能正在将downloadURL保存为ref(' images')

return admin.database().ref('images').push({path: fileUrl, thumbnail: thumbFileUrl});

我的问题:

1。如何将数据库引用更改为动态,以便根据用户选择上载的相册将downloadURL保存到数据库中的路径?

类似的东西:

return admin.database().ref('\albums\{albumId}').push({path: fileUrl, thumbnail: thumbFileUrl});

2。我可以将albumId从我的客户端传递给我的云功能作为变量吗?

1 个答案:

答案 0 :(得分:2)

通过使我的存储层次结构与我的数据库层次结构匹配,我找到了解决问题的方法。

当用户上传图片时,在存储事件上触发的云功能将获取文件路径(fileDir)。我将fileDir存储到字符串

const dbPath = String(fileDir);

然后我将downloadURL推送到我的数据库引用中的dbPath(因为我的存储层次结构与我的数据库层次结构匹配),这是有效的。

return admin.database().ref('/' + dbPath).push({hiRes: fileUrl, photoURL: thumbFileUrl});