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.