我们使用签名的URL从浏览器上传。我还不知道如何在上传时设置cache-control头。
我们使用gcloud-node库对URL进行签名:
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);
}
});
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'
})
gsutil cors set cors.json gs://bucket-name
[{
"maxAgeSeconds": 3600,
"method": ["GET", "PUT", "POST"],
"origin": [
"http://localhost:3000"
],
"responseHeader": ["Content-Type", "Cache-Control"]
}]
“cache-control”需要在“responseheader”字段中列出。然后像往常一样上传,但是设置cache-control
标头。使用fetch
,它将是:
fetch(uploadUrl, {
method: 'PUT',
body: blob,
headers: {
'Content-Type': blob.type,
'Cache-Control': 'public, max-age=31536000',
},
});
有没有办法用Google App Engine(Java)在Google Cloud Storage中创建一个带有签名URL的处理程序? 我可以成功地上传文件到buckets与签名的URL在我的Android(Java)应用程序,但我没有目前的方式执行额外的代码服务器端上传完成。
是否有一种方法来设置缓存控制元数据,同时将文件放入谷歌云存储使用谷歌云存储适配器Flysystem? 我的所有文件都公开在bucket中,但有时我需要更新一些文件,之后我仍然会看到旧文件。一般来说,我认为这是可能的,但我没有看到一种通过Flysystem实现这一点的方法,我们在任何地方都使用它。
我有一个firebase帐户,我想以编程方式上传一些照片到firebase存储。为此,我使用了google cloud java storage API。我配置权限和其他权限。我可以成功地创建桶,斑点。然而,当我试图上传一张图片时,要么它的大小为0,要么它无法下载(不生成URL)。下面是我使用的代码; 任何建议都很感激。问候。
使用 rax-plugin-pwa 插件,可以方便快捷的使用 Service Worker 控制缓存,以获得更快的加载速度。 首先,安装 build-plugin-rax-pwa 插件依赖: $ npm install build-plugin-rax-pwa --save 在工程配置 build.json 中添加 pwa 插件并配置缓存目标: { "plugins": [ [