Webclient C # получает путь к файлу после завершения асинхронной загрузки

#c# #webclient

#c# #веб-клиент

Вопрос:

У меня есть этот метод:

 public void downloadClip()
        {
            using (WebClient wc = new WebClient())
            {
                //Download
                wc.DownloadFileCompleted  = Wc_DownloadFileCompleted;
                string file_name_ender = @"MyPath";
                wc.DownloadFileAsync(new System.Uri(@downloadUri), file_name_ender);
            }
        }
  

тогда у меня этот загрузочный файл завершен:

 private void Wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
            //I need to get where file was downloaded to
        }
  

Затем мне нужно попасть внутрь строки этого метода, в которой указано, откуда я загрузил свой файл. В основном мой file_name_ender .

Спасибо за любую помощь.

Ответ №1:

Используйте второй метод перегрузки:

 wc.DownloadFileAsync(uri, file_name_ender, file_name_ender);
  

Затем вы можете получить значение из свойства UserState в событии:

 private void Wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
    var filename = (string)e.UserState;
}
  

Комментарии:

1. Спасибо, этот answear был полезен и с ним очень хорошо управлялись :))