如何在C#中使用WebClient下载多个文件?

时间:2015-03-26 03:24:14

标签: c# webclient

我似乎无法弄清楚如何使用DownloadFileAsync下载多个文件。如何将列表作为URI输入?

我目前的单个下载代码如下所示:

        WebClient client = new WebClient();
        client.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0)");
        client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
        client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);

        // Starts the download
        client.DownloadFileAsync(new Uri(chosenVersion), tbFolder.Text + chosenVersionFileName);   

' chosenVersion'只是一个链接,例如example.com/some.jpeg。

我只想在同时下载时将所有下载内容捆绑到一个进度条中。

1 个答案:

答案 0 :(得分:0)

  

我只想在同时下载时将所有下载内容捆绑到一个进度条中。

WebClient实例一次只能处理一次下载。您可以修改

中给出的方法

https://stackoverflow.com/a/6992743/141172

通过使用List<string>等构造替换队列并使用Parallel.Foreach()同时处理列表来并行下载多个文件。