6
Guzzleで大きなファイルをダウンロードして、進捗状況を追跡したい。ストリームを渡すか、RequestMediatorを何とか使う必要があるかどうかはわかりません。Guzzle 6ダウンロードの進捗
- イベントcurl.callback.progressを購読しようとしましたが、PSR 7リクエストにはイベントディスパッチャがありません。
- 私はon_statsを試しましたが、コールバックは最後にのみ発生します。
- 進捗加入者プラグインは、私は以下のコードをテストしていhttps://github.com/guzzle/progress-subscriber
を推奨されていません。
$dl = 'http://archive.ubuntu.com/ubuntu/dists/wily/main/installer-amd64/current/images/netboot/mini.iso';
$client = new Client([]);
$request = new GuzzleHttp\Psr7\Request('get', $dl);
$promise = $this->client->sendAsync($request, [
'sink' => '/tmp/test.bin'
]);
$promise->then(function (Response $resp) use ($fs) {
echo 'Finished';
}, function (RequestException $e) {
});
$promise->wait();
ヒントがあります。
完璧、ありがとう! – Laoneo