C# FTP Server Klasör Açmak

C# FTP Server Klasör Açmak

11 Nisan 2019 1 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 50
Yaklaşık okuma süresi : 5 DK
C# FTP Server Dosya Adı Değiştirme
C# FTP Server Dosya Listesi Almak
C# FTP Server Klasör Açmak
5 (100%) 3 Oy

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.

Advertisements
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,

İlgili İçerik  C# Switch Case Kullanımı - Koşul İfadeleri

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. 😉

C# FTP Server Dosya Adı Değiştirme
C# FTP Server Dosya Listesi Almak