Merhaba arkadaşlar, bu yazımızda C# kullanarak elimizdeki dosyayı en kısa yoldan nasıl FTP sunucumuza aktarırız bunu inceleyeceğiz. Hemen konumuza başlıyorum.
Öncelikle gerekli kütüphane tanımlamalarımızı yapıyoruz.
using System.IO; using System.Net;
Daha sonra eklediğimiz bir button içine kodları ekliyoruz.
FileInfo FI = new FileInfo(@"C:/dosya.txt");
// Dosyanın gönderileceği ftp yolunu belirliyoruz
string uri = "ftp://sitemizinadresi.com/www/" + FI.Name;
// Ftp işlemlerini yapacağımız sınıfımızı tanımlıyoruz
FtpWebRequest FTP;
// Oluşturduğumuz değişkene hedef yolumuzu gösteriyoruz
FTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
// Ftp bağlantısı için gerekli bilgileri belirliyoruz
FTP.Credentials = new NetworkCredential("kullanici_adi", "sifre");
// Default olarak true geliyor false 'a çeviriyoruz. Amacımız bağlantı açıksa hataya düşmemesi
FTP.KeepAlive = false;
// Bu kısımda hangi işlemi yapacağımızı belirtiyoruz, dosya göndereceğimiz için UploadFile methodunu seçiyoruz
FTP.Method = WebRequestMethods.Ftp.UploadFile;
// Dosya tranferinin Binary türden yapılacağını belirtiyoruz
FTP.UseBinary = true;
// Gönderdiğimiz dosyanın boyutunu belirtiyoruz
FTP.ContentLength = FI.Length;
// Buffer büyüklüğünü 2KB olarak belirtiyoruz ve değişkenimizi tanımlıoyruz
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
// Bu kısımda dosyayı binary'e çevirip ftp'ye gönderiyoruz
FileStream FS = FI.OpenRead();
try
{
Stream strm = FTP.GetRequestStream();
contentLen = FS.Read(buff, 0, buffLength);
while (contentLen != 0)//dosya bitene kadar gönderme işlemi
{
strm.Write(buff, 0, contentLen);
contentLen = FS.Read(buff, 0, buffLength);
}
strm.Close();
FS.Close();
MessageBox.Show("Dosya gönderildi!", "İşlem Tamam");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Hata");
}
Gerekli açıklamalar satır aralarında verilmiştir. Yine de takıldığınız yerler veya aldığınız hatalar olduğunda bu yazı altından bana ulaşabilirsiniz.
Teşekkürler.




Teşekkürler oldu :))