Скачивание 2 файлов из интернета - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Проблема такая есть 2 файла которые нужно скачать и поле это-го выполнить какое либо действие. Есть код который по идее так и делает, но выполнение какого либо действия начинается как раз после скачивания первого файла. Программа не дожидается скачивания второго файла. Подскажите где неправильно?
Листинг программы
  1. private void download //Скачиваем видео
  2. {
  3. try
  4. {
  5. string fileNameAudio = "temp.mp3";
  6. if (File.Exists(fileNameAudio) != true)// если файла нет то просто скачиваем
  7. {
  8. WebClient client = new WebClient();
  9. client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
  10. client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
  11. string link = w;
  12. string downloadFileName = System.IO.Path.GetFileName("temp.mp3");
  13. client.DownloadFileAsync(new Uri(link), savedirName + @"" + downloadFileName);
  14. }
  15. else// если файл есть, удаляем и скачиваем новый
  16. {
  17. File.Delete(fileNameAudio);
  18. WebClient client = new WebClient();
  19. client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
  20. client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
  21. string link = w;
  22. string downloadFileName = System.IO.Path.GetFileName("temp.mp3");
  23. client.DownloadFileAsync(new Uri(link), savedirName + @"" + downloadFileName);
  24. //client.DownloadFileAsync(new Uri(link), @"c:" + downloadFileName);
  25. }
  26. string fileNamevideo = "temp.mp4";//к примеру... файл.zip замените названием того что скачиваете
  27. if (File.Exists(fileNamevideo) != true)// если файла нет то просто скачиваем
  28. {
  29. WebClient client = new WebClient();
  30. client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
  31. string link = b;
  32. string downloadFileName = System.IO.Path.GetFileName("temp.mp4");
  33. client.DownloadFileAsync(new Uri(link), savedirName + @"" + downloadFileName);
  34. }
  35. else// если файл есть, удаляем и скачиваем новый
  36. {
  37. File.Delete(fileNamevideo);
  38. WebClient client = new WebClient();
  39. client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
  40. string link = b;
  41. string downloadFileName = System.IO.Path.GetFileName("temp.mp4");
  42. client.DownloadFileAsync(new Uri(link), savedirName + @"" + downloadFileName);
  43. }
  44. }
  45. catch
  46. {
  47. }
  48. }
  49. void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
  50. {//выполнение какого либо действия по окончанию скачивания
  51. ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), "");
  52. }

Решение задачи: «Скачивание 2 файлов из интернета»

textual
Листинг программы
  1. WebClient web = new WebClient();
  2.  
  3. // Первый файл
  4. string filePath = Path.Combine(savedirName, "temp.mp3");
  5. if (File.Exists(filePath)) File.Delete(filePath);
  6. await web.DownloadFileTaskAsync("http://example.com/temp.mp3", filePath);
  7.  
  8. // Второй файл
  9. filePath = Path.Combine(savedirName, "temp.mp4");
  10. if (File.Exists(filePath)) File.Delete(filePath);
  11. await web.DownloadFileTaskAsync("http://example.com/temp.mp4", filePath);
  12.  
  13. // Все файлы скачаны
  14. DoSomething();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут