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