Я пытаюсь разрешить загрузку больших файлов клиентам из Google Storage API за аутентифицированным PHP.
Мне удалось прочитать/загрузить небольшие файлы, используя следующий код:
$object = $storage->objects->get($bucket, 'filename');
$request = new GuzzleHttp\Psr7\Request('GET', $object['mediaLink']);
//authorize the request before sending
$http = $client->authorize();
$response = $http->send($request);
$body = $response->getBody()->read($object->getSize());
$body будет иметь все содержимое файла, но некоторые из них могут иметь размер 1 ГБ.
Пробовал использовать:
$stream = Psr7\stream_for($response->getBody());
Но это не работает.
Как я могу передать загрузку файла клиенту, не загружая его в память?
Спасибо.