C# İle FTP’ye Bağlanma ve Dosya Transferi

Merhaba,

Proje çalışmalarınızda FTP(File Transfer Protocol) üzerinden çalışmalar gerçekleştirmeniz gerekebilir. İşte böyle bir ihtiyaca dönük nasıl hareket etmeniz gerektiğini teknik olarak bu içeriğimizde inceleyeceğiz. Tüm bunların yanında teorik olarak FTP’nin ne olduğu hakkında da bilgi vereceğiz.

FTP(File Transfer Protocol) Nedir

Bir protokoldür. Lakin sadece bir protokol değil adı üzerinde internet üzerinden dosya transfer işlemleri için kullanılan bir işlevselliğe sahiptir. Güvenlik açısından pekte tercih edilebilir değildir. Anlayacağınız yapacağınız işlem güven arz ediyorsa pekte önerilmemektedir. Ayrıca varsayılan olarak 21 numaralı portu kullanmaktadır.

Peki nasıl C# ile bu protokolü kullanarak internet üzerinden dosya transferi sağlanabilir? sorusuna gelirsek eğer aşağıdaki sınıfı kullanabilirsiniz.

    class FTPIslemleri
    {
        public static Task UploadFtpFile(string Server, string KlasorAdi, string DosyaAdi, string KullaniciAdi, string Sifre)
        {
            return Task.Run(() =>
            {
                FtpWebRequest request = null;
                try
                {
                    string SadeDosyaAdi = Path.GetFileName(DosyaAdi);
                    request = WebRequest.Create(new Uri($@"ftp://{Server}/{KlasorAdi}/{SadeDosyaAdi}")) as FtpWebRequest;
                    request.Method = WebRequestMethods.Ftp.UploadFile;
                    request.UseBinary = true;
                    request.UsePassive = true;
                    request.KeepAlive = true;
                    request.Credentials = new NetworkCredential(KullaniciAdi, Sifre);
                    request.ConnectionGroupName = "group";

                    using (FileStream fs = File.OpenRead(DosyaAdi))
                    {
                        byte[] buffer = new byte[fs.Length];
                        fs.Read(buffer, 0, buffer.Length);
                        fs.Close();
                        Stream requestStream = request.GetRequestStream();
                        requestStream.Write(buffer, 0, buffer.Length);
                        requestStream.Flush();
                        requestStream.Close();
                    }
                }
                catch (Exception ex)
                {

                }
            });
        }
    }

Yukarıdaki kod bloğunda bulunan sınıf içerisindeki static “UploadFtpFile” metodu ile istediğiniz FTP’ye bağlanabilir ve dosya transferi gerçekleştirebilirsiniz.

Hepinize kolay gelsin 🙂
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. 18 Mart 2018

    […] yazılarımdan olan C# İle FTP’ye Bağlanma ve Dosya Transferi başlıklı yazımda sunucuya FTP üzerinden herhangi bir dosyanın nasıl atıldığına […]

  2. 18 Mart 2018

    […] yazılarımdan olan C# İle FTP’ye Bağlanma ve Dosya Transferi başlıklı yazımda sunucuya FTP üzerinden herhangi bir dosyanın nasıl atıldığına […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Copy Protected by Chetan's WP-Copyprotect.