Загрузка файлов WebClient - C#
Формулировка задачи:
Имеется WebClient, который через метод OpenReadAsync загружает файл, и производит с ним определенные действия. Данный файл постоянно изменяется, т.е. в один момент времени он одного содержания, после загрузки уже другого. Но прогрузив его несколько раз WebClient начинает повторять загруженные данные. Т.е. допустим изначально файл содержал текст А, WebClient его загрузил, через некоторое время файл содержит текст В, WebClient вновь его загружает и все равно отображает текст А.
В чем может быть проблема?
Код загрузки файла:
И что происходит после загрузки:
Причем иногда бывает, что работает все как надо, но только как появиться хоть один раз данная ошибка и все, он начинает по кругу присылать одни и те же данные.
Заранее спасибо за помощь!
WebClient webClient = new WebClient(); webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted); webClient.OpenReadAsync(new Uri("http://" + IPServer + "/file/" + numberfile + ".txt"));
void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e) { try { if (!e.Cancelled && e.Error == null) { Stream inpStream = e.Result; byte[] buffer = new byte[inpStream.Length]; inpStream.Read(buffer, 0, buffer.Length); //действия с полученным файлом } } catch (Exception ex) { // } }
Решение задачи: «Загрузка файлов WebClient»
textual
Листинг программы
public static string downloadURI (Uri uri) { string status = uri.OriginalString; using (WebClient Client = new WebClient ()) { try { Client.DownloadFile(uri, fileName); status += " загружен"; } catch (Exception e) { status += " " + e.Message; } } return status; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д