问题描述
我正在尝试使用 firebase 函数上传文件,使用 this docs multer 但似乎我无法像这张图片一样上传到文件夹 firebase :
const bucket = storage.bucket("<my-bucket>.appspot.com/img_users/");
但还是不行,请帮忙!
解决方法
Cloud Storage 中实际上没有文件夹或子目录的概念。您在 Firebase 控制台中看到的 img_users/
“文件夹”实际上是根据一个或多个文件的文件名生成的,这些文件的文件名组成如下:
img_users/<rest_of_the_file_name>
Firebase 控制台根据文件名中由斜杠 (/
) 分隔的部分创建“假”文件夹。换句话说,控制台“显示”上述文件驻留在 img_users/
“文件夹”中,但对于 Cloud Storage,该对象仅存在于存储桶中并具有如上所示的名称。您可以在 doc 中找到更详细的说明。
这种行为的后果是,您不应在传递给 bucket()
方法的字符串中包含“文件夹”名称,而应在创建文件引用时包含它。