我遇到了这个问题,无法在网上找到一个简单的工作php示例,可以在上传到谷歌云存储时设置对象缓存控制。我知道它在对象上有一个setMetadata,但我迷失了怎么做。使用gsutil并不会削减它,因为它对于Web应用程序来说不是动态的。
到目前为止,这就是我所拥有的,但setMetadata行会引发错误。任何人都可以帮助纠正这条线吗?请注意,在下面的
之前已经获得了授权令牌$file = "xxx.html";
$infotowrite = "999";
$service = new Google_Service_Storage($client);
$obj = new Google_Service_Storage_StorageObject();
$obj->setName($file);
$obj->setMetadata(['cacheControl' => 'public', 'max-age' => '6000']);
$results = $service->objects->insert(
$bucket_name,
$obj,
['name' => $file, 'mimeType' => 'text/html', 'data' => $infotowrite, 'uploadType' => 'media']
);
答案 0 :(得分:3)
我想你想打电话给setCacheControl function。
这是一个有效的例子:
$bucket_name = 'my-bucket';
$file = "xxx.html";
$infotowrite = "999";
$service = new Google_Service_Storage($client);
$obj = new Google_Service_Storage_StorageObject();
$obj->setName($file);
$obj->setCacheControl('public, max-age=6000');
$results = $service->objects->insert(
$bucket_name,
$obj,
['name' => $file, 'mimeType' => 'text/html', 'data' => $infotowrite, 'uploadType' => 'media']
);