Firebase Admin SDK 无法上传到存储桶文件夹

问题描述

我正在尝试使用 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() 方法的字符串中包含“文件夹”名称,而应在创建文件引用时包含它。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...