Скачивание 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д