.NET Core HttpClient with built in progress updates
The most simple usage:
var httpClient = new HttpClientWithProgress();
var bytes = await httpClient.GetBytesAsync(Url, progress => {
Console.WriteLine(progress.PercentageDone.ToString());
});
The progress delegate will give you an update every 8kB, or max every 10ms
These are a few of the data properties that are available on a progress update:
- ➗ Percentage downloaded
- ⏳ Estimated time still necessary to finish the download
- 🚄 The current download speed
- ...