Скачивание 2 файлов из интернета - C#
Формулировка задачи:
Здравствуйте. Проблема такая есть 2 файла которые нужно скачать и поле это-го выполнить какое либо действие.
Есть код который по идее так и делает, но выполнение какого либо действия начинается как раз после скачивания первого файла. Программа не дожидается скачивания второго файла. Подскажите где неправильно?
Листинг программы
- private void download //Скачиваем видео
- {
- try
- {
- string fileNameAudio = "temp.mp3";
- if (File.Exists(fileNameAudio) != true)// если файла нет то просто скачиваем
- {
- WebClient client = new WebClient();
- client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
- client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
- string link = w;
- string downloadFileName = System.IO.Path.GetFileName("temp.mp3");
- client.DownloadFileAsync(new Uri(link), savedirName + @"" + downloadFileName);
- }
- else// если файл есть, удаляем и скачиваем новый
- {
- File.Delete(fileNameAudio);
- WebClient client = new WebClient();
- client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
- client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
- string link = w;
- string downloadFileName = System.IO.Path.GetFileName("temp.mp3");
- client.DownloadFileAsync(new Uri(link), savedirName + @"" + downloadFileName);
- //client.DownloadFileAsync(new Uri(link), @"c:" + downloadFileName);
- }
- string fileNamevideo = "temp.mp4";//к примеру... файл.zip замените названием того что скачиваете
- if (File.Exists(fileNamevideo) != true)// если файла нет то просто скачиваем
- {
- WebClient client = new WebClient();
- client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
- string link = b;
- string downloadFileName = System.IO.Path.GetFileName("temp.mp4");
- client.DownloadFileAsync(new Uri(link), savedirName + @"" + downloadFileName);
- }
- else// если файл есть, удаляем и скачиваем новый
- {
- File.Delete(fileNamevideo);
- WebClient client = new WebClient();
- client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
- string link = b;
- string downloadFileName = System.IO.Path.GetFileName("temp.mp4");
- client.DownloadFileAsync(new Uri(link), savedirName + @"" + downloadFileName);
- }
- }
- catch
- {
- }
- }
- void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
- {//выполнение какого либо действия по окончанию скачивания
- ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), "");
- }
Решение задачи: «Скачивание 2 файлов из интернета»
textual
Листинг программы
- WebClient web = new WebClient();
- // Первый файл
- string filePath = Path.Combine(savedirName, "temp.mp3");
- if (File.Exists(filePath)) File.Delete(filePath);
- await web.DownloadFileTaskAsync("http://example.com/temp.mp3", filePath);
- // Второй файл
- filePath = Path.Combine(savedirName, "temp.mp4");
- if (File.Exists(filePath)) File.Delete(filePath);
- await web.DownloadFileTaskAsync("http://example.com/temp.mp4", filePath);
- // Все файлы скачаны
- DoSomething();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д