Entschuldigung für die noob Frage, aber das ist ein Problem, das ich nicht zu knacken scheinen kann. Ich habe ein Laravel-Skript, um die Datei öffentlich in einen Google Storage-Bucket zu laden, und es funktioniert ordnungsgemäß. Das Problem ist, dass das Objekt, das ich hochlade, sich gerade in dem Bucket befindet, wo es in einem Verzeichnis innerhalb des Buckets platziert werden sollte. z bucket -/dev-bucket/korrektes Verzeichnis -/dev-bucket/media/unten ist mein SkriptPHP: Hochladen von öffentlichen Dateien in einen Ordner in einem Google Storage Bucket
$client = new \Google_Client();
$credential = new \Google_Auth_AssertionCredentials(
'[email protected]',
['https://www.googleapis.com/auth/devstorage.full_control'],
file_get_contents(storage_path().'xxxxx.p12')
);
$client->setAssertionCredentials($credential);
// this access control is for project owners
$ownerAccess = new \Google_Service_Storage_ObjectAccessControl();
$ownerAccess->setEntity('project-owners-' . 'xxxxxxxxxxx');
$ownerAccess->setRole('OWNER');
// this access control is for public access
$readerAccess = new \Google_Service_Storage_ObjectAccessControl();
$readerAccess->setEntity('allUsers');
$readerAccess->setRole('READER');
$storage = new \Google_Service_Storage($client);
$obj = new \Google_Service_Storage_StorageObject();
$obj->setName($stageFileName);
$obj->setAcl([$ownerAccess, $readerAccess]);
$storage->objects->insert(
Config::get('constants.bucket'),
$obj,
[
'name' => $stageFileName,
'data' => file_get_contents($stageFile),
'uploadType' => 'media',
]
);
Gibt es eine Möglichkeit, wie Sie innerhalb des Verzeichnisses in dem Eimer um das Objekt zu setzen?
Vielen Dank. Ich habe das überall gesucht. – Lomse