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