C# de İNTERNETTEN DOSYA ÇEKMEK ! ! !
--------------------------------------------------------------------------------
VS.NET programımızı açtığımızda C# projesi ve Windows application seçiyoruz. Karşımıza bir ekran geliyor sonra devam ediyoruz.
Sonrasında formumuzun üzerine sola dayalı toolbox üzerine gelip button ve progressbar ekliyoruz.
Bu aşamadan sonra form1 in üzerine çift tıklayıp kod ekranını açıyoruz ve kodlamayı yapıyoruz.
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Net; // ek olarak System.Net ce System.IO eklemelerini yaptık.
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private **** Form1_Load(object sender, EventArgs e)
{
}
private bool DownloadFile(string sURL, ProgressBar pProgress, string Filename)
{
System.Net.HttpWebRequest URLReqystem.Net.HttpWebResponse URLResystem.IO.FileStream FileStreamer;byte[] bBuffer = new byte[999];
int iBytesRead = 0;try{FileStreamer = new FileStream(Filename, System.IO.FileMode.Create);
URLReq = (HttpWebRequest)System.Net.WebRequest.Create(sURL) ;
URLRes = (HttpWebResponse)URLReq.GetResponse();
Stream sChunks = URLReq.GetResponse().GetResponseStream();
pProgress.Maximum = Convert.ToInt32(URLRes.ContentLength);
http://pProgress.Visible = false
do{iBytesRead = sChunks.Read(bBuffer, 0, 100)ileStreamer.Write(bBuffer, 0, iBytesRead);
if (pProgress.Value + iBytesRead <= pProgress.Maximum){
pProgress.Value += iBytesRead;}else{
pProgress.Value = pProgress.Maximum;
}
}while (iBytesRead != 0);pProgress.Value = pProgress.Maximum;
sChunks.Close();
FileStreamer.Close();
return true;
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
return false;
}
}
private **** button1_Click(object sender, EventArgs e)
{
DownloadFile("http://dlsvr01.asus.com/pub/ASUS/vga/ATI/release%20driver/ati82034_w2kxp.zip", progressBar1, @"c:\deneme.zip");
//Bu yukardaki bölümde internetten veya kendi bilgisayarınızdan bir dosyanın uzantısıyla beraber tam adresini DownloadFile dan sonra yazıyoruz ben örnek olarak asusun sitesinden bir dosya koydum. Sonra bunu download ettiği yer olarak kendi bilgisayrınızdan C:\ yada D:\ gibi bir dosya oluşturup işlemi tamamlıyoruz. @ işaretini koymamın nedeni directoryde kesme işaretlerini görmesidir. Koymasaydık :// şeklinde yazacaktık. Buna literal denir.
}
}
}
Çalşıp çalışmadığını kontrol etmek için build ediyoruz. Build >> Buildwindowsapllication deyip kontrol ediyoruz. Herhangi bir hata vermezse F5 ile programı çalıştrabiliriz.