【问题标题】:How do I upload to Google Cloud Storage from client-side JavaScript, with Node on the server?如何使用服务器上的 Node 从客户端 JavaScript 上传到 Google Cloud Storage?
【发布时间】:2016-05-14 02:06:07
【问题描述】:

我想从我的客户端 JavaScript 代码直接上传到 Google Cloud Storage 存储桶,尽管存储桶不应该是公开可写的。服务器端代码是 Node.js。过去,我可以通过在服务器上为客户端生成临时授权,直接上传到 Amazon S3。将文件上传到写保护的 Google Cloud Storage 存储桶的程序是什么,即需要授权?

【问题讨论】:

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


    【解决方案1】:

    我发现我可以使用getSignedUrl,它应该允许对文件进行某些临时访问(例如写入):

    bucket = gcs.bucket('aBucket')
    bucket.file('aFile').getSignedUrl({
      action: 'write',
      expires: moment.utc().add(1, 'days').format(),
    }, (error, signedUrl) => {
      if (error == null) {
        console.log(`Signed URL is ${signedUrl}`)
      }
    })
    

    为了上传文件,向获得的签名 URL 发出 PUT 请求。

    【讨论】:

    • 请编写 put 请求语法。需要添加哪些标头以及需要以哪种格式发送数据
    猜你喜欢
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    • 2014-06-15
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    相关资源
    最近更新 更多