Merhabalar c# üzerinden FTP ile siteye dosya aktarımı yapmak istiyorum. Sanırım kodlarda bir sıkıntı yok ama "Uzak sunucuya bağlanılamıyor" hatası alıyorum. Sitelerden araştırarak bulduğum bir kod ama bende çalışmıyor. Yardımcı olur musunuz bu hatayı nasıl çözerim?
C#:
// Dosya bilgisini oluşturuyoruz, Dosya yolunu web için FileUplaod nesnesinden, win32 Applicationlar için OpenFileDialog nesnesinden alabilirsiniz.
FileInfo FI = new FileInfo("C:\\deneme\\bilgi.txt");
// Dosyanın gönderileceği ftp yolunu belirliyoruz
string uri = "ftp://185.27.134.125/htdocs/" + FI.Name;
// Ftp işlemlerini yapacağımız classımızı tanımlıyoruz
FtpWebRequest FTP;
// Oluşturduğumuz değişkene hedef yolumuzu eşitliyoruz
FTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
// Ftp bağlantısı için UserName ve Şifremizi belirtiyoruz
FTP.Credentials = new NetworkCredential("blabla", "blabla");
// 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();
Stream strm = FTP.GetRequestStream();
contentLen = FS.Read(buff, 0, buffLength);
while (contentLen != 0)
{
strm.Write(buff, 0, contentLen);
contentLen = FS.Read(buff, 0, buffLength);
}
strm.Close();
FS.Close();
MessageBox.Show("Dosya Gönderildi!", "Başarılı");