6
Desidero scaricare un file di grandi dimensioni con Guzzle e tenere traccia dell'avanzamento. Non so se devo passare un flusso o usare il RequestMediator in qualche modo.Guzzle 6 avanzamento download
- Ho provato con la sottoscrizione all'evento curl.callback.progress, ma la richiesta PSR 7 non ha un dispatcher di eventi.
- Ho provato il on_stats, ma il callback è stato attivato alla fine.
- Il plugin abbonato progresso è deprecato https://github.com/guzzle/progress-subscriber
sto testando il seguente codice.
$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();
Un suggerimento sarebbe apprezzato.
Perfetto, grazie! – Laoneo