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.