Örnek kodumuzdaki C# projesinde forma iki adet metin kutusu bir de düğme ekledik. Kutulardan birisi bize görseli veren url diğeri ise görseli makinada kaydetmek için vereceğimiz ismi girdiğimiz kutu.
Düğmenin onclick olayına yazacağımız iki fonksiyonu atıyoruz. Birinci fonksiyon binary dizisini geri veriyor, diğeri (2.) onu alıp dosya olarak kaydediyor.
HttpWebRequest, ve Stream için using System.Net ve FileStream ile BinaryWrite için using System.IO; yu projemize eklemeyi unutmayın.
İnternette kodları bulduğum url şurada . Web alanında örnek image binary veren dosyayı hazırlayıp sunan Engin GEM arkadaşıma ve soruyu bana sorup bu bilgiyi de öğrenmeme ve az da olsa işe yaramama neden olan İnan KARACAN arkadaşıma teşekkür ederim.
Düğmenin onclick prosedüründeki kodlar aşağıda:
private void button1_Click(object sender, EventArgs e)
{ DiskeByteYazma(textBox2.Text,URLdenByteAlma(textBox1.Text)); }
// başlıyoruz
static public byte[] URLdenByteAlma(string url)
{
byte[] b;
HttpWebRequest bizimTalep = (HttpWebRequest)WebRequest.Create(url);
WebResponse bizimCevap = bizimTalep.GetResponse();
Stream stream = bizimCevap.GetResponseStream();
//int i;
using (BinaryReader binaryOkuyucu = new BinaryReader(stream))
{
//i=(int)(stream.Length);
b = binaryOkuyucu.ReadBytes(500000); // Burada okunacak byte sayısı resmin büyüklüğü ile alakalı
binaryOkuyucu.Close();
}
bizimCevap.Close();
return b;
// Buraya kadar urlden çektiğimiz byteları bir diziye aktardık ve return ettik.
}
static public void DiskeByteYazma(string dosyaAdi, byte[] icerik)
{
FileStream dosyaAkisi = new FileStream(dosyaAdi, FileMode.Create);
BinaryWriter binaryYazici = new BinaryWriter(dosyaAkisi);
try
{
binaryYazici.Write(icerik);
}
finally
{
dosyaAkisi.Close();
binaryYazici.Close();
}
}
// bitirdik
Kolay gelsin