为了账号安全,请及时绑定邮箱和手机立即绑定

Google Cloud Storage api (c#) - 缓存标头元数据

Google Cloud Storage api (c#) - 缓存标头元数据

C#
烙印99 2023-09-09 17:02:37
我通过存储 c# api (Google.Cloud.Storage.V1) 上传到谷歌云存储桶。这些是客户端页面访问的公共文件。问题: 文件以“private,max-age = 0”发送。问题: 我想在通过 api 本身上传文件时或之后设置自定义缓存标头。是否可以通过 c# google storage api 调用发送缓存标头或其他元数据?我也很好奇:既然我没有设置任何缓存头,为什么谷歌存储以 max-age=0 来服务这些文件,而不是根本不发送任何缓存头?
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

UploadObject如果您指定 而Object不仅仅是存储桶名称和对象名称,则可以在调用 时设置缓存控制。这是一个例子:


var client = StorageClient.Create();

var obj = new Google.Apis.Storage.v1.Data.Object

{

    Bucket = bucketId,

    Name = objectName,

    CacheControl = "public,max-age=3600"

};

var stream = new MemoryStream(Encoding.UTF8.GetBytes("Hello world"));

client.UploadObject(obj, stream);

您也可以在事后使用以下命令来完成此操作PatchObject:


var patch = new Google.Apis.Storage.v1.Data.Object

{

    Bucket = bucketId,

    Name = objectName,

    CacheControl = "public,max-age=7200"

};

client.PatchObject(patch);

如果您没有指定任何内容,恐怕我不知道缓存控制的细节。


查看完整回答
反对 回复 2023-09-09
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信