我遇到了一些問題,使用C#WebClient DownloadFileAsync,並希望你能幫助我。DownloadFileAsync:多個文件
這裏是我的情況:
我下載多個文件同時採用Web客戶端DownloadFileAsync同一時間(http://example.com/abc/1.jpg,http://example.com/abc/efg/2.jpg等)。
我當前的示例代碼:
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爲50kb,2.jpg爲50kb,1.jpg完成下載時進度條會顯示50%,並且進度條中的2.jpg會從51%到100%。
另外,如果文件名是/abc/1.jpg,如果我的當前目錄沒有名爲abc的文件夾,則下載將不起作用。如何根據文件名自動創建文件夾? (例如/random123/3.jpg,/anotherrandom/4.jpg等)
你在問兩個不相關的東西,你應該問兩個問題。 – svick
在開始下載之前,你知道所有圖像的大小嗎?還是應該進度條獨立於圖像的大小? – svick
在開始下載之前,我不知道所有圖像的總大小。它應該是動態的。 – initialshl