我试图允许从经过身份验证的 PHP 后面的 Google Storage API 将大文件下载到客户端。
我能够使用以下代码读取/下载小文件:
$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 将包含文件的全部内容,但其中一些可能是 1gb 大小。
尝试使用:
$stream = Psr7\stream_for($response->getBody());
但它不起作用。
我如何能够将文件的下载流式传输到客户端而不将其加载到内存中?
谢谢。