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

C# FTP Server Klasör Açmak

C# FTP Server Klasör Açmak
+ - 0

C# FTP Server Klasör Açmak , yazım ile C# Eğitim Setime devam ediyorum. Bu yazım C# İle FTP Üzerine İşlemler yazı serimin 5. yazısıdır.

 

C# FTP Server Klasör Açmak

Önceki yazım olan C# FTP Server Dosya Listesi Almak yazımda ftp servere bağlanıp bir dosya klasör listesi almak hakkında bilgiler vermiştim. Bu yazımda C# ile bir ftp server ‘e bağlanıp klasör açma 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

Şimdi bu kısımda benimde yanlış olduğunu düşündüğüm bir şekilde bir işlem yapacağız ama düşündüğüm gibi yanlış da olmayabilir. :) Aslında direk klasör tanımla işlemini verebilirdim ama o zaman eksik kalırdı. Şimdi Önce klasör kontrolü yapacağız sonra da klasör yok ise klasörü açacağız. Burada iki farklı işlem yapacağımız için arka arkaya ftp bağlantısı açıp iki farklı işlem yapacağız.

Öncelikle önceki dersimizi hatırlayalım. FTP Dosya Kontrolü dersimizi… Şimdi oradaki kodları alalım. Bağlantı olarak yukarıdaki kodları kullanıyor olalım. Metodumuz aşağıdaki gibi olacak.

request.Method = WebRequestMethods.Ftp.GetFileSize;

Şimdi kontrolümü yapalım.

            try
            {
                FtpWebResponse response = (FtpWebResponse)request1.GetResponse();
                // klasör var
            }
            catch (WebException ex)
            {
                // klasör yok
            }

Evet hatırladık değil mi? Yukarıdaki kodlarımız ile klasör kontrolünü yapıyorduk. Klasör kontrolümü yaptık ve klasörümüzün olmadığını varsayalım. O halde kodlarımızı aşağıdaki gibi düzenleyeceğiz.

            try
            {
                FtpWebResponse response = (FtpWebResponse)request1.GetResponse();
                // klasör var
            }
            catch (WebException ex)
            {
                FtpWebRequest request2 = (FtpWebRequest)FtpWebRequest.Create(FTPFilePath);
                request2.Credentials = new NetworkCredential(username, password);
                request2.Method = WebRequestMethods.Ftp.MakeDirectory; // klasör tanımlamak için bu request metodu gerekiyor
                try
                {
                    WebResponse response = request2.GetResponse();
                }
                catch (WebException)
                {
                }
            }

Catch kısmına, yani klasör yok ise,

Yeni bir Request yani istek başlatıyoruz. Sonrasında kullanıcı adı ve şifre ile başlattığımız yeni istek ile tekrar bağlanıyoruz. Bu sefer klasör açma amacı ile bağlandığımızı belirtiyoruz. İsteği başlattıktan sonra da response yani yanıtı istiyoruz.

NOT: Aslında response işlemi yap demek oluyor.

Klasör bulunamadığında almamız gereken hata kısmında klasör tanımlama işlemini yapmış olduk.


C# FTP Server Klasör Açmak, 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. :)