【问题标题】:Node.js Google-cloud storage upload destination specificationNode.js 谷歌-云存储上传目的地规范
【发布时间】:2017-04-12 10:44:45
【问题描述】:

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

上传本身工作正常,但 google-cloud API 似乎只能将文件上传到 Firebase Storage 根文件夹。

有没有办法指定上传图片的远程位置?

我现在在做什么:

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));

【问题讨论】:

  • 你试过{destination: newPath} 吗?因为这正是它的工作原理。见doc
  • @Jérôme 仅供参考,文档链接是 404。

标签: javascript node.js google-cloud-storage google-cloud-platform


【解决方案1】:

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

明显有2个错误。

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

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

【讨论】:

    猜你喜欢
    • 2018-09-18
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 2016-12-30
    • 2012-12-09
    • 1970-01-01
    相关资源
    最近更新 更多