我正在尝试允许从经过身份验证的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());
但它不起作用。
如何在不将内容加载到内存的情况下将文件下载流式传输到客户端?
感谢。