首页 > 解决方案 > 上传到特定文件夹 Firebase Storage NodeJS?

问题描述

嘿,我发现了如何上传到 Firebase 存储:

admin.initializeApp({
  credential: secret,
  databaseURL: secret,
  storageBucket: secret,
});

var bucket = admin.storage().bucket();


const uploadToFireStorage = (filename, query, fileType, imageURL) => {
  bucket.upload(filename).then(console.log("uploaded"));
};

正如您在我的 bucket.upload 函数中看到的那样,我可以上传到 firebase 存储,但它会上传到根文件夹中,我想将它放在 /foodImages/myfile.png 下,例如有什么想法吗?

标签: javascriptnode.jsfirebasefirebase-storagefirebase-admin

解决方案


实际上谷歌云存储没有真正的“文件夹”。

在 Cloud Storage 控制台中,您的存储桶中的文件以文件夹的层次结构呈现(就像您本地硬盘上的文件系统一样),但这只是一种呈现文件的方式:没有真正的文件夹/目录在一个桶里。Cloud Storage 控制台只是使用文件路径的不同部分来“模拟”文件夹结构,方法是使用“/”分隔符。

因此,您需要使用文档UploadOptions中所示的对象,该对象具有用一些“/”定义的属性,如下所示:destination

const destinationFilename = "folder1/myfile.png";
bucket.upload('...', { destination: destinationFilename });

推荐阅读