Javascript Node.js谷歌云存储上传目的地规范
我有一个Node.js服务器,我正在使用googlecloud包将一些图像文件上传到Firebase存储中 上传本身工作正常,但GoogleCloudAPI似乎只能将文件上载到Firebase存储根文件夹 有没有办法指定要将图像上载到的远程位置 我现在做的是: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*',
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。