Javascript Node.js谷歌云存储上传目的地规范

Javascript Node.js谷歌云存储上传目的地规范,javascript,node.js,google-cloud-storage,google-cloud-platform,Javascript,Node.js,Google Cloud Storage,Google Cloud Platform,我有一个Node.js服务器,我正在使用googlecloud包将一些图像文件上传到Firebase存储中 上传本身工作正常,但GoogleCloudAPI似乎只能将文件上载到Firebase存储根文件夹 有没有办法指定要将图像上载到的远程位置 我现在做的是: const serviceAccount = require('./serviceAccount.json'); const storage = gcloud.storage({ projectId: '*projectId*',

我有一个Node.js服务器,我正在使用googlecloud包将一些图像文件上传到Firebase存储中

上传本身工作正常,但GoogleCloudAPI似乎只能将文件上载到Firebase存储根文件夹

有没有办法指定要将图像上载到的远程位置

我现在做的是:

const serviceAccount = require('./serviceAccount.json');

const storage = gcloud.storage({
   projectId: '*projectId*',
   credentials: serviceAccount
});

const storageBucket = storage.bucket('*bucket*');

storageBucket.upload(localFsPath)
   .then(data => /* Some stuff */)
   .catch(err => console.log(err));
有没有办法做到这一点

storageBucket.upload(path, { destination: 'a/b/c/file.jpg' })
   .then(data => /* Some stuff */)
   .catch(err => console.log(err));

正如@Jérôme所指出的,这种方法是正确的。我忽略了目标路径字符串的错误格式,即“/x/y//z”

显然有两个错误

首先,路径不能以“/”开头,而是节点(文件/文件夹)的名称


有趣的是,第二个问题(“/”部分)并没有导致API抛出,而是导致Firebase递归地创建名为“/”的节点(文件夹)的无限嵌套结构。

您是否尝试过
{destination:newPath}
?因为这就是它的工作原理。见@Jérôme供参考,文档链接为404。