İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# FTP Server Dosya İndirmek

C# FTP Server Dosya İndirmek
+ - 0

C# FTP Server Dosya İndirmek, dersim ile C# Eğitim Setime devam ediyorum. Bu yazım C# İle FTP Üzerine İşlemler yazı serimin 8. yazısıdır.

C# FTP Server Dosya İndirmek

Önceki yazım olan C# FTP Server Dosya Yüklemek yazımda ftp servere bağlanıp bir dosya adı değiştirme hakkında bilgiler vermiştim. Bu yazımda C# ile bir ftp server ‘e bağlanıp dosya indirme işlemini göreceğiz.

string  FTPDosyaYolu = "ftp:/88.88.88.88:8888//FTP_Files";
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(FTPDosyaYolu);

string username = "kullaniciadi";
string password = "şifre";
request.Credentials = new NetworkCredential(username, password);

request.UsePassive = true; // pasif olarak kullanabilme
request.UseBinary = true; // aktarım binary ile olacak
request.KeepAlive = false; // sürekli açık tutma

Bağlantı bilgilerimizi bunlardı.

 request.Method = WebRequestMethods.Ftp.DownloadFile; // Dosya yüklemek için bu request metodu gerekiyor

Dosya download yani indirmek için gerekli metodumuz bu şekilde.

Dosya indirme işlemi yaparken FileStream ve Stream sınıfını kullanarak yapacağız.

Stream sınıfını kullanabilmek için aşağıdaki kütüphaneyi eklememiz gerekiyor.

using System.IO;

Kodlarımızı verelim.

FtpWebResponse response = (FtpWebResponse)FTP.GetResponse(); // wen üzerinden istekte bulunuyoruz
Stream ftpStream = response.GetResponseStream(); // dosyaya dönüştürmek için itek yapıyoruz

int size = (int)FTP.GetResponse().ContentLength;
long cl = response.ContentLength; // dosya boyunu belirliyoruz
int bufferSize = 2048; // buffer değişkeni 2 KB olarak ayarlandı

using (Stream fileStream = System.IO.File.Create("indirilecek dosya yolu" + Dosya)) // klasörüne indiriyoruz.
    {
        byte[] buffer = new byte[bufferSize];
        int readCount;

        while ((readCount = ftpStream.Read(buffer, 0, buffer.Length)) > 0)
        {
            fileStream.Write(buffer, 0, readCount);
            int position = (int)fileStream.Position;
        }                
    }
    
ftpStream.Close();
response.Close();

Yukarıdaki kodlarımız FTP server’den dosya indermeyi  yapan kodlarımızdır.

Bu indirme kodlarını Klasör Kontrolü ve Klasör Açma dersleri ile aynı anda kullanmamız gerekiyor aslında. Önce klasör kontrolü yapıp, yoksa klasörü açıp yüklemeyi yapabilmek için. Yani benim yaptığım yöntem bu şekildeydi.

Belki çok daha kolay yöntemleri vardır ancak bu işlemi yaptığım sıradaki aciliyetim üzerine “çalışsın yeter” kafası ile yapmıştım. İleride daha kolay yöntemi varsa ve bulursam bu derse ithafen ek bir ders daha ekleyeceğimden şüpheniz olmasın.


C# FTP Server Dosya İndirme, dersimizde bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere…

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Takipte ve Sağlıcakla kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)