Скачивание 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();

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


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

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

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