C# – FtpWebRequest ile FTP(File Transfer Protocol) Üzerinden Dosya Yükleme

Geçtiğimiz günlerde geliştirdiğimiz bir uygulama içerisinde oluşturulan personel masraf ödemelerinin talimatını bir bankaya göndermemiz gerekti. Bu işlemi FTP(File Transfer Protocol) ile gerçekleştirdik. FTP(File Transfer Protocol) internete bağlı iki sunucu arasında dosya transferini sağlayan bir protokoldür ve kullanılan ilk internet protokollerinden biridir.

FTP dosya upload işlemini FtpWebRequest sınıfı ile kolayca halledebiliriz. FtpWebRequest sınıfı System.Net namespace’inde yeralmaktadır. Bağlantı kurmak istediğimiz sunucunun adresini, bankadan alınan kullanıcı adı ve şifreyi kullanarak bu kullanıcıya izin verilen dizine bağlantı sağlanıp dosya okuma ve yazma işlemleri yapılabilmektedir.

Aşağıda verilmiş olan C# kodu ile yazılmış fonksiyon içerisine, upload etmek istediğimiz dosyanın bulunduğu dizini göndererek ftp ile dosya gönderimini gerçekleştirebiliriz.

    public void ftp_send_file(string fileroot)
 {
        FileInfo fileInf = new FileInfo(fileroot);
        string uri = “ftp://ftp.jobsbank.com//” + fileInf.Name;
       
        FtpWebRequest reqFTP;
       
        reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
        reqFTP.Credentials = new NetworkCredential(“username”, “password”);
        reqFTP.KeepAlive = false;
        reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
        reqFTP.UseBinary = true;
        reqFTP.ContentLength = fileInf.Length;
        int buffLength = 2048;
        byte[] buff = new byte[buffLength];
        int contentLen;
        FileStream fs = fileInf.OpenRead();
 
    try
    { 
           Stream strm = reqFTP.GetRequestStream();
           contentLen = fs.Read(buff, 0, buffLength);
       
           while (contentLen != 0)
           {
                strm.Write(buff, 0, contentLen);
                contentLen = fs.Read(buff, 0, buffLength);
           }
            strm.Close();
     }
     catch(Exception ex)
     {
       throw new Exception(ex.ToString());
     }
             
           fs.Close();
          
 }

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s