C# ile FTP Upload
Şimdi öncelikle uploadFile diye bir method
var ki bende yabancı bir siteden almıştım.Fazla kurcalamaya gerek
yok, bu methodu -asıl işi yapan bu aslında, inceleyin işte- direk
kopyalayabilirsiniz.
Görüntülü anlatım için tıklayın. Yok ben yazı okumayı daha çok severim diyorsanız tıklamayın.
private void uploadFile(string ftpadresi, string dosyayolu, string kullaniciadi, string sifre)
{
// Ftp request yaratıyoruz.
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(ftpadresi + "/" + Path.GetFileName(dosyayolu));
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(kullaniciadi, sifre);
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = false;
// Seçilen dosyayı yüklüyoruz.
FileStream stream = File.OpenRead(dosyayolu);
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
stream.Close();
// Ve dosyayı upload ediyoruz.
Stream reqStream = request.GetRequestStream();
reqStream.Write(buffer, 0, buffer.Length);
reqStream.Close();
MessageBox.Show("Dosya başarıyla upload edildi.");
}
Yandaki gibi bir tasarım yapalım.Tasarımda zaten ilk 3 textbox gayet
açık.Bunun yanında 1 adet openfiledialog eklemeniz gerekiyor.Gözat
butonuna tıklandığında openfiledialog açılacak ve gelen dosya adresini
textBox4′e yazacak.Daha sonra upload !
Gözat butonumuza çift tıklayalım ve aşağıdaki kodları girelim.
if (openFileDialog1.ShowDialog() == DialogResult.OK)
textBox4.Text = openFileDialog1.FileName;
Daha sonra upload butonuna çift tıklayalım ve;
button2.Enabled = false;
uploadFile(textBox1.Text, textBox4.Text, textBox2.Text, textBox3.Text);
button2.Enabled = true;
satırlarını ekleyelim.Bu durumda upload yapmaya hazırız.Ancak bir kaç
uyarım var.Eğer ftp adresinin başında ftp:// olmazsa hata
verecektir.Eğer bunu engellemek istiyorsanız, upload işleminden önce
aşağıdaki satırları ekleyebilirsiniz.
if (!textBox1.Text.StartsWith("ftp://"))
textBox1.Text = "ftp://" + textBox1.Text;
Birde unutmadan bu şekilde upload yaptığınızda upload ettiğiniz
dosyalar /www klasörüne gitmeyecektir.Eğer www klasörüne gitmelerini
istiyorsanız, ftp adresinin sonuna /www ekleyebilir,ekletebilirsiniz.
İyi günler, orta dünyanın barışçıl halkları.
Kaynak:
http://doc-deniz.blogspot.com/2010/0...ad-islemi.html
Hiç yorum yok :
Yorum Gönder