Google Cloud Storage通过已签名的网址上传设置缓存控制 [英] Google Cloud Storage set cache-control with signed urls upload

查看:520
本文介绍了Google Cloud Storage通过已签名的网址上传设置缓存控制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们使用已签名的网址从浏览器上传。我一直无法弄清楚如何在上传时设置缓存控制头。



我们使用gcloud-node库来签名url: p>

  var bucket = gcs.bucket('mybucket'); 
var file = bucket.file('image.jpg');

var expireDate = new Date
expireDate.setDate(expireDate.getDate()+ 1);

file.getSignedUrl({
action:'write',
expires:expireDate,
contentType:'image / jpeg'
},function err,signedUrl){
if(err){
console.error('SignedUrl error',err);
} else {
console.log(signedUrl);
}
});

如何在将文件上传到GCS时设置Cache-Control头?

上传的代码在浏览器中运行:

  var signedUrl = ...; //从nodejs服务器获取
var fileList = this.files;

var file = fileList [0];

jQuery.ajax({
url:signedUrl,
type:'PUT',
data:file,
processData:false,
contentType:'image / jpeg'
})


解决方案

你有一个签名的网址。当您将对象上传(插入)到GCS中时,您应该可以通过API来设置它: https://cloud.google.com/storage/docs/json_api/v1/objects/insert


We're using signed urls to upload from the browser. I haven't been able to figure out how to set the cache-control header while uploading.

We're using the gcloud-node library to sign urls:

var bucket = gcs.bucket('mybucket');
var file = bucket.file('image.jpg');

var expireDate = new Date
expireDate.setDate(expireDate.getDate() + 1);

file.getSignedUrl({
  action: 'write',
  expires: expireDate,
  contentType: 'image/jpeg'
}, function (err, signedUrl) {
  if (err) {
    console.error('SignedUrl error', err);
  } else {
    console.log(signedUrl);
  }
});

How do I set the Cache-Control headers while uploading a file to GCS?
The code to upload is running in the browser:

var signedUrl = ...; // get from nodejs server
var fileList = this.files;

var file = fileList[0];

jQuery.ajax({
  url: signedUrl,
  type: 'PUT',
  data: file,
  processData: false,
  contentType: 'image/jpeg'
})

解决方案

the snippet you have is getting a signed url. when you upload (insert) the object into GCS, you should be able to set it via the API:

https://cloud.google.com/storage/docs/json_api/v1/objects/insert

这篇关于Google Cloud Storage通过已签名的网址上传设置缓存控制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆