这是一些有趣的事情。我们的系统包括一个供用户使用的文件管理器。这些文件存储在 Google Cloud Storage 的存储桶中。我需要做的是在存储桶中创建一个“文件夹”。是的,我知道 GCS 是一个平坦的空间,文件夹并不是真正的东西......但我可以转到 Google Cloud Platform 浏览器并单击名为“CREATE FOLDER”的按钮,它会创建一些看起来只是就像一个文件夹。里面不应该有任何内容。我正在尝试使用 cURL 来写入存储对象,以便它被“保存”:
$bucket = $google_client( $bucket_name );
$folder = $bucket->object( $folder_name );
$url = $folder->beginSignedUploadSession();
// now we have to make an HTTP "PUT"
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_PUT, 1);
curl_setopt($ch,CURLOPT_INFILE, ""); <--- this is wrong
curl_setopt($ch,CURLOPT_INFILESIZE, 0);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
或者我应该创建虚拟“文件”以附加到我正在创建的带有虚拟值的 URL 中?
我想我应该补充一点,我正在使用一个现有的系统,该系统使用旧版本的 GCS API 来执行此操作,使用的代码如下:
$postbody = [ 'data' => $data ,
'uploadType' => "multipart",
'mimeType' => 'text/plain'];
$gso = new Google_Service_Storage_StorageObject();
$gso->setName( $foldername );
$resp = $objects->insert( $bucket, $gso, $postbody );
萧十郎