我通過存儲 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);
如果您沒有指定任何內容,恐怕我不知道緩存控制的細節。
- 1 回答
- 0 關注
- 144 瀏覽
添加回答
舉報
0/150
提交
取消