Я столкнулся с некоторыми проблемами при использовании C # WebClient DownloadFileAsync и надеюсь, что вы мне поможете.
Вот мой сценарий:
Я загружаю много файлов одновременно (http://example.com/abc/1.jpg,http://example.com/abc/efg/2.jpg, и т. Д.) С использованием WebClient DownloadFileAsync.
Мой текущий пример кода:
while (theres still files in http://example.com/abc/) {
// filename will be something like /abc/1.jpg, /abc/efg/2.jpg
if (!file.exists(directory.getcurrentdirectory()+filename.Replace('/', '\\'))) {
WebClient webClient = new WebClient();
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downloadProgressChanged);
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(downloadCompleted);
webClient.DownloadFileAsync(new Uri("http://example.com"+filename), Directory.GetCurrentDirectory()+filename.Replace('/', '\\'));
}
Как мне сделать так, чтобы все загружаемые файлы отображались в одном индикаторе прогресса?
напр.1.jpg - 50 КБ, 2.jpg - 50 КБ, когда 1.jpg завершит загрузку, индикатор выполнения покажет 50%, а 2.jpg - от 51% до 100% в индикаторе выполнения.
Такжеесли имя файла /abc/1.jpg, если в моем текущем каталоге нет папки с именем abc, загрузка не будет работать.Как мне сделать так, чтобы папка создавалась автоматически в зависимости от имени файла?(например, /random123/3.jpg, /anotherrandom/4.jpg и т. д.)