如何通过服务器上的Node从客户端JavaScript上传到Google云端存储?

时间:2016-05-13 10:52:07

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

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

1 个答案:

答案 0 :(得分: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}`)
  }
})

要上传文件,请向获取的签名网址发出PUT请求。