2016-03-25 3 views
0

大規模なファイルを、認証されたPHPの背後にあるGoogle Storage APIからクライアントにダウンロードしようとしています。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()); 

$本体は、ファイルの内容全体を持っていますが、それらのいくつかは、1ギガバイトのサイズかもしれません。

$stream = Psr7\stream_for($response->getBody()); 

をしかし、それは動作しません:

を使用してみました。

ファイルをメモリにロードせずにクライアントにダウンロードする方法を教えてください。

ありがとうございました。

答えて

0

クライアントにはsigned URLを送信して、コンテンツをGoogle Cloud Storageから直接配信することを検討してください。ファイルのダウンロード全体をプロキシしようとするのではなく、