none
WebClient ile resim indirirken hata RRS feed

  • 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++; }



    2 Mart 2016 Çarşamba 15:36

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
    2 Mart 2016 Çarşamba 17:37

Tüm Yanıtlar

  • Download işlemini başlatıyorsunuz ama Download bitmeden yenisini başlatıyorsunuz. Yani bu foreach'in tamamlanması ms sürer. listede 10 tane link varsa aynı anda 10 adet downlod'u tek bir webclient ile yapmaya çalışıyor. 
    2 Mart 2016 Çarşamba 15:43
  • Çözüm öneriniz var mı acaba ?
    2 Mart 2016 Çarşamba 15:44
  • İş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.
    2 Mart 2016 Çarşamba 16:50
  • Teşekkürler, ilk defa webclient sınıfıyla ilgili bir işlem yapıyorum. Dediğiniz mantıklı geliyor ama uygulayacak bilgiye sahip değilim şuan malesef :)
    2 Mart 2016 Çarşamba 17:29
  • Ş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
    2 Mart 2016 Çarşamba 17:37