En iyi yanıtlayıcılar
WebClient ile resim indirirken hata

Soru
-
Merhaba, bir regex yazarak tüm img taglarındaki linklerden resimleri indirmeye çalışıyorum. Tek tek indirmeye çalıştığımda (bir buton ile list boxtaki linki seçerek) bir sorun yok, ancak hepsini bir tuşla indirmeye çalıştığımda hata alıyorum. Tüm linkler bir list içinde duruyor. Ne yapabilirim bunun için ?
Hata şu şekilde : WebClient eşzamanlı G/Ç işlemlerini desteklemiyor.
Kodlar aşağıdaki gibidir.
foreach (var link in links) {
WebClient wc = new WebClient(); int sayi = 1; wc.DownloadFileCompleted += new AsyncCompletedEventHandler(FileDownloadComplete); Uri imageurl = new Uri(link); wc.DownloadFileAsync(imageurl, "resim" + sayi + ".jpg"); sayi++; }
Yanıtlar
-
Şu iki örneği inceleyebilirsiniz.
http://stackoverflow.com/questions/6992553/how-do-i-async-download-multiple-files-using-webclient-but-one-at-a-time
http://stackoverflow.com/questions/16514027/download-multiple-files-async-and-wait-for-all-of-them-to-finish-before-executin- Yanıt Olarak İşaretleyen Serkan Canseven 3 Mart 2016 Perşembe 10:03
Tüm Yanıtlar
-
-
-
İşlemin bitmesi ile ilgili evet konulabilir. Bitince diğer dosyaya geçer. İşlemin bitip bitmediği kontrol edilebilir. Ya da sınırlamak koşulu ile yeni bir webclient daha açılabilir. Örneğin 5 tane webclient ile sınırlanır. Aynı anda 5 dl işlemi yapılır sonra diğer gruba geçer vb.
-
-
Şu iki örneği inceleyebilirsiniz.
http://stackoverflow.com/questions/6992553/how-do-i-async-download-multiple-files-using-webclient-but-one-at-a-time
http://stackoverflow.com/questions/16514027/download-multiple-files-async-and-wait-for-all-of-them-to-finish-before-executin- Yanıt Olarak İşaretleyen Serkan Canseven 3 Mart 2016 Perşembe 10:03