我成功地使用了生成缩略图云功能。我的代码正确地将调整大小的图像保存为"thumb_",将调整大小的图像存储到正确的存储位置,并将 downloadURL 写入我的实时数据库。
云函数正在将下载URL保存到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 作为变量从我的客户端传递到我的云函数吗?
我找到了解决问题的方法,方法是使我的存储层次结构与我的数据库层次结构匹配。
当用户上传图片时,在存储事件上触发的云函数会获取文件路径(fileDir)。我将文件目录存储到字符串中
const dbPath = String(fileDir);
然后我将下载URL推送到我的数据库引用中的dbPath(因为我的存储层次结构与我的数据库层次结构匹配),这是有效的。
return admin.database().ref('/' + dbPath).push({hiRes: fileUrl, photoURL: thumbFileUrl});