Adım 1: Gerekli isim alanlarını projeye ekleyelim:
using System.Net;
using System.ComponentModel;
Adım 2: Dosya ile ilgi değişkenlerimizi tanımlayalım:
// Notepad++
string indirilecek = "http://download.tuxfamily.org/notepadplus/6.4.3/npp.6.4.3.Installer.exe";
string klasor = "C:\\";
string dosyaAdi = "npp.6.4.3.Installer.exe";
Adım 3: WebClient nesnesini oluşturup, indirme ile ilgili eventları tanımlayalım:
WebClient webClient = new WebClient();
// Tamamlandığında
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
// İndirme yüzdesi değiştiğinde
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
// İndirmeyi asenkron olarak başlat
webClient.DownloadFileAsync(new Uri(indirilecek), klasor + dosyaAdi);
Adım 4: İndirme yüzdesi her değiştiğinde:
private static void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
Console.WriteLine("Dosya indiriliyor: %{0}", e.ProgressPercentage);
}
Adım 5: İndirme tamamlandığında:
private static void Completed(object sender, AsyncCompletedEventArgs e)
{
Console.WriteLine("Dosya indirme tamamlandı!");
}
Kaynak: Internetten dosya indirme (C#)