diff options
| author | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
| commit | 00a491d93733d4625ad329b2ba8237f445364b3f (patch) | |
| tree | 4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Visual_Studio/Tango.Transport/Web/StandardFileDownloader.cs | |
| parent | 124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff) | |
| download | Tango-00a491d9.tar.gz Tango-00a491d9.zip | |
merge
Diffstat (limited to 'Software/Visual_Studio/Tango.Transport/Web/StandardFileDownloader.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.Transport/Web/StandardFileDownloader.cs | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/Software/Visual_Studio/Tango.Transport/Web/StandardFileDownloader.cs b/Software/Visual_Studio/Tango.Transport/Web/StandardFileDownloader.cs deleted file mode 100644 index 1b62fc023..000000000 --- a/Software/Visual_Studio/Tango.Transport/Web/StandardFileDownloader.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Text; -using System.Threading.Tasks; - -namespace Tango.Transport.Web -{ - public class StandardFileDownloader : IWebFileDownloader - { - private WebClient _client; - private TaskCompletionSource<object> _completionSource; - - public String Address { get; private set; } - - public String FileName { get; private set; } - - public event EventHandler<WebFileDownloaderProgressEventArgs> Progress; - - public StandardFileDownloader(String address, String fileName) - { - Address = address; - FileName = fileName; - _client = new WebClient(); - _client.Proxy = null; - _client.DownloadProgressChanged += _client_DownloadProgressChanged; - _client.DownloadFileCompleted += _client_DownloadFileCompleted; - - _completionSource = new TaskCompletionSource<object>(); - } - - private void _client_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) - { - if (e.Error != null) - { - _completionSource.SetException(e.Error); - } - else - { - _completionSource.SetResult(true); - } - } - - public Task Download() - { - _client.DownloadFileAsync(new Uri(Address), FileName); - return _completionSource.Task; - } - - private void _client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) - { - Progress?.Invoke(this, new WebFileDownloaderProgressEventArgs() - { - Current = e.BytesReceived, - Total = e.TotalBytesToReceive, - }); - } - - public Task<long> GetFileSize() - { - return Task.Factory.StartNew<long>(() => - { - using (var client = new WebClient()) - { - client.OpenRead(Address); - Int64 bytes_total = Convert.ToInt64(client.ResponseHeaders["Content-Length"]); - return bytes_total; - } - }); - } - - public void Dispose() - { - _client.Dispose(); - } - } -} |
