【问题标题】:Firebase Admin SDK cant upload to storage bucket folderFirebase Admin SDK 无法上传到存储桶文件夹
【发布时间】:2021-04-05 13:55:11
【问题描述】:
我正在尝试使用 firebase 功能上传文件,使用 this docs multer 但我似乎无法像这张图片一样上传到文件夹 firebase:
...
我想直接上传到我的文件夹
我已经尝试过了
const bucket = storage.bucket("<my-bucket>.appspot.com/img_users/");
还是不行,求帮助!
【问题讨论】:
标签:
firebase
google-cloud-functions
firebase-storage
multer
firebase-admin
【解决方案1】:
Cloud Storage 中实际上没有文件夹或子目录的概念。您在 Firebase 控制台中看到的img_users/“文件夹”实际上是由一个或多个文件的文件名生成的,这些文件的文件名组成如下:
img_users/<rest_of_the_file_name>
Firebase 控制台会根据文件名中由斜线 (/) 分隔的部分创建“假”文件夹。换句话说,控制台“显示”上述文件位于img_users/“文件夹”中,但对于 Cloud Storage,该对象只是存在于存储桶中并具有如上所示的名称。你会在doc找到更详细的解释。
这种行为的后果是您不应在传递给bucket() 方法的字符串中包含“文件夹”名称,而应在创建文件引用时包含它。