上传到特定文件夹 Firebase Storage NodeJS?

问题描述 投票:0回答:2

嘿,我已经找到了如何上传到 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下 有什么想法吗?

javascript firebase google-cloud-platform google-cloud-storage firebase-storage
2个回答
7
投票

实际上Google Cloud Storage没有真正的“文件夹”。

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

因此,您需要使用

UploadOptions
对象,如 doc 中所示,并使用
destination
属性,该属性用一些“/”定义,如下所示:

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

-1
投票

来自官方文档:

如果您想使用上面提供的默认存储桶以外的存储桶,或者在单个应用程序中使用多个存储桶,您可以检索对自定义存储桶的引用,如下所示:

const bucket = admin.storage().bucket("foodImages");

(修改代码以使用 ES6 的 const 并适合您的示例)

来源:https://firebase.google.com/docs/storage/admin/start#use_custom_buckets

只有一件事,现在我们使用 ES6,你可以使用

const
代替
var

© www.soinside.com 2019 - 2024. All rights reserved.