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

我通过存储 c# api (Google.Cloud.Storage.V1) 上传到谷歌云存储桶。这些是客户端页面访问的公共文件。

问题: 文件以“private,max-age = 0”发送。

问题: 我想在通过 api 本身上传文件时或之后设置自定义缓存标头。是否可以通过 c# google storage api 调用发送缓存标头或其他元数据?

我也很好奇:既然我没有设置任何缓存头,为什么谷歌存储以 max-age=0 来服务这些文件,而不是根本不发送任何缓存头?


烙印99
浏览 59回答 1
1回答

慕田峪4524236

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);如果您没有指定任何内容,恐怕我不知道缓存控制的细节。
打开App,查看更多内容
随时随地看视频慕课网APP