У меня есть небольшое приложение, которое загружает некоторые файлы с удаленного (HTTP) сервера на локальный жесткий диск пользователя, некоторые файлы имеют большой размер, но я не знаю, насколько они велики во время выполнения. Есть ли способ, который позволит мне загрузить файл с индикатором прогресса какого-либо типа?
Это приложение WinForms, сейчас я использую WebClient.DownloadFile () для загрузки файла.
Edit:
Я посмотрел на события DownloadProgressChanged и OnDownloadProgressChanged, и они, кажется, работают нормально, но они не будут работать для моего решения. Я загружаю несколько файлов, и если я использую WebClient.DownloadFileAsync, событие вызывается несколько раз в секунду, потому что каждый файл вызывает его.
Вот основная структура приложения:
- Скачать список файлов обычно около 114
- Выполнить цикл по списку файлов и загрузить каждый файл по назначению
Я не против загружать каждый файл отдельно, но без загрузки их с помощью DownloadFileAsync () я не могу использовать обработчики событий.