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 :))