3 / 3 / 3
Регистрация: 30.09.2014
Сообщений: 79
1
.NET 4.x

Как скачивать несколько файлов через WebClient по очереди, через DownloadFileAsync

17.02.2016, 00:11. Показов 9644. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброй ночи. Столкнулся с проблемой по скачиванию нескольких файлов друг за другом.
Фулл код как скачиваю:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void DownloadMPQ(Uri u, string s)
        {
            WebClient web = new WebClient();
            web.DownloadProgressChanged += new DownloadProgressChangedEventHandler(Download);
            web.DownloadFileCompleted += new AsyncCompletedEventHandler(DownComp);
            web.DownloadFileAsync(u, s);
        }
        void DownComp(object sender, AsyncCompletedEventArgs e)
        {
            NotificShow(String.Format("'{0}' скачан.", ThisFile));
        }
        void Download(object sender, DownloadProgressChangedEventArgs e)
        {
            long q = e.TotalBytesToReceive / 1024;
            prgDownload.Properties.Maximum = (int)q;
            prgDownload.EditValue = e.BytesReceived / 1024;
        }
И как вызываю (на примере 1 файла)
C#
1
DownloadMPQ(new Uri("http://localhost/mp.mpq"), "mp.mpq");
В итоге он мне начинает качать все файлы подряд, т.е. в несколько потоков.
Вопрос все таки такой: как мне дождаться скачивания 1 файла и начать качать 2й? Новый поток? Пробовал. Не двигается прогресс бар.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2016, 00:11
Ответы с готовыми решениями:

WebClient. Как правильно скачивать несколько файлов асинхронно?
Подскажите как правильно скачивать несколько файлов асинхронно? сейчас для каждого файла свой...

Асинхронная загрузка файлов методом WebClient.DownloadFileAsync
Вопрос адресуется в первую очередь профессионалам. При разработке приложения возникла...

Ссылки для скачивания с помощью WebClient.DownloadFile и WebClient.DownloadFileAsync
Ссылки какие должны быть, для скачивания webClient.DownloadFile и webClient.DownloadFileAsync Не...

Цикличная загрузка файлов через webclient
Есть у меня интересный код обновы,где всё что надо обновить качается в цикле. Загрузка идёт по...

22
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 28
10.06.2018, 17:10 21
Author24 — интернет-сервис помощи студентам
EvilFromHell, извините что поднял такую старинную тему, но вот в начале этой темы вы дали рабочий код, все отлично, юзаю его на .net 4.7.1, да вот к сожалению progressbar не обновляется правильно, он резко с 0 до 100, и в логах подобное пишет Сделал запись в лог, вот что видит лог. В чем проблема? Файлы качаются хорошо, а прогрессбар плохо обновляется. Т.е даже смысла нет от него, тоже самое я могу сделать тупа Progressbar.value = 100;

Код
2018-06-10 16:56:40,807 DEBUG Downloaded: 0 
2018-06-10 16:56:40,820 DEBUG Downloaded: 0 
2018-06-10 16:56:40,862 DEBUG Downloaded: 0 
2018-06-10 16:56:40,876 DEBUG Downloaded: 0 
2018-06-10 16:56:40,915 DEBUG Downloaded: 0 
2018-06-10 16:56:40,927 DEBUG Downloaded: 0 
2018-06-10 16:56:40,940 DEBUG Downloaded: 0 
2018-06-10 16:56:40,981 DEBUG Downloaded: 0 
2018-06-10 16:56:41,006 DEBUG Downloaded: 0 
2018-06-10 16:56:41,025 DEBUG Downloaded: 0 
2018-06-10 16:56:41,042 DEBUG Downloaded: 0 
2018-06-10 16:56:41,088 DEBUG Downloaded: 0 
2018-06-10 16:56:41,103 DEBUG Downloaded: 0 
2018-06-10 16:56:41,133 DEBUG Downloaded: 0 
2018-06-10 16:56:41,146 DEBUG Downloaded: 0 
2018-06-10 16:56:41,178 DEBUG Downloaded: 0 
2018-06-10 16:56:41,220 DEBUG Downloaded: 0 
2018-06-10 16:56:41,242 DEBUG Downloaded: 0 
2018-06-10 16:56:41,259 DEBUG Downloaded: 0 
2018-06-10 16:56:41,273 DEBUG Downloaded: 0 
2018-06-10 16:56:41,286 DEBUG Downloaded: 0 
2018-06-10 16:56:41,324 DEBUG Downloaded: 0 
2018-06-10 16:56:41,360 DEBUG Downloaded: 0 
2018-06-10 16:56:41,373 DEBUG Downloaded: 100
0
Эксперт .NET
6508 / 4085 / 1605
Регистрация: 09.05.2015
Сообщений: 9,551
10.06.2018, 17:14 22
MairwunNx, Скорее всего сервер, с которого вы качаете не отправляет необходимые данные для корректной работы.
0
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 28
10.06.2018, 17:19 23
Someone007, я качаю файл по прямой ссылке с гугл диска.
0
10.06.2018, 17:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2018, 17:19
Помогаю со студенческими работами здесь

Загрузка файлов через WebClient с отображением процентов
Здравствуйте, не очень понимаю, как сделать вывод процентов загрузки. Хочу сделать ProgressBar на...

Загрузка файлов с другого компьютера через WebClient
Здравствуйте, форумчане, помогите решить проблему. Есть функция, которая загружает файл по нажатию...

WebClient.DownloadFileAsync и WebClient.DownloadFile
Если правильно понимаю, то WebClient.DownloadFileAsync и WebClient.DownloadFile это 2 разных...

Запустить через один sh несколько sh по очереди
Помогите разобраться каким образом используя один sh запускать через него несколько sh по очереди


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru