wmismail Posted August 10, 2008 Share Posted August 10, 2008 Basit bir FTP Uygulaması FTP (File Transfer Protocol) Internete bağlı bir bilgisayardan diğerine (her iki yönde de) dosya aktarımı yapmak için geliştirilen bir internet protokolü ve bu işi yapan uygulama programlarına verilen genel addır. İlk geliştirilen internet protokollerinden biridir. FTP protokolü ile bir başka bilgisayardan bir başka bilgisayara dosya aktarımı yapılırken, o bilgisayar ile etkileşimli-aynı anda (on-line) bağlantı kurulur ve protokol ile sağlanan bir dizi komutlar yardımıyla iki bilgisayar arasında dosya alma/gönderme işlemleri yapılır. Bir web projesi yada web sitesi yaptığımızda bunu yayınlamak için bir FTP programına ihtiyaç duyarız. Bunu nasıl yaparız? FTP programını açar, ftp bilgilerimiz ile ftp?ye bağlanır ilgili dosyaları ftp alanına transfer ederiz. FTP kullanımı sadece bununla da sınırlı değildir elbette. Örneğin kendi sistemimiz üzerinden (bu bir winform uygulaması olabilir) web sitemize içerik girmemiz gerektiğinde ilgili içeriğe bir dosya eklemek istediğimizde işimizi çok kolaylaştıracak bir yöntemdir. .Net Framework da bu işi FtpWebRequest classı ile yaparız. Şimdi kısaca bu classı tanıyalım. FtpWebRequest Framework 2.0 içersinde FTP ile çalışmamızı sağlayan yeni bir class eklendi. Bu classın adı FtpWebRequest. Bu class System.net namespace?si altında bulunmaktadır. Webclient sınıfını kullanarak uzaktaki bir sunucudan FTP?ye bağlanarak bir dosya indirebilir yada sunucuya bir dosya yükleyebiliriz. ÖRNEK Biz bu uygulamamızda kendi uygulamamız üzerinden bir ftp?ye bağlanıp FTP?ye bir dosya upload edip yine FTP?en kendi makinemize bir dosya download edeceğiz. İlk olarak yeni bir windows projesi oluşturalım; Formumuz üzerine 2 buton ekleyelim. İlk butona bastığımızda upload işlemini gerçekleştirecek. Diğer butonda FTP?den dosya indirmemizi sağlayacak. Benim hazırlamış olduğum form aşağıdaki gibidir. İlk olarak FTP?ye bağlanarak bir dosya indirelim. Bunun için gerekli kodları yazmaya başlayalım; ____________________________________ FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.xxxxxx.com/xxx/sem.swf"'>ftp://www.xxxxxx.com/xxx/sem.swf"); //Sunucu ile haberleşecek bir FtpWebRequest objesi yarattık. Şimdi bu obje için login olmak için gerekli bilgilerini oluşturalım. request.Credentials = new NetworkCredential("xxxxx", "xxxxx"); using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) { Stream data = response.GetResponseStream(); string targetPath = "C:/sem.swf";//Local makinedeki dosyanın tam yolunu belirtelim if (File.Exists(targetPath)) // Dosya varsa sil? File.Delete(targetPath); byte[] byteBuffer = new byte[4096]; // Dosyayı loacal makinemize aktarıyoruz using (FileStream output = new FileStream(targetPath, FileMode.CreateNew)) { int bytesRead = 0; do { bytesRead = data.Read(byteBuffer, 0, byteBuffer.Length); if (bytesRead > 0) { output.Write(byteBuffer, 0, bytesRead); } } while (bytesRead > 0); } } ------------------------------------------------------------------------------------------------------------ FTP?den dosyayı indirme işlemini tamamladık. Şimdi de sunucuya bir dosya yükleyelim. Bunun için gerekli kodlar; ------------------------------------------------------------------------------- FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www. xxxxxx.com/xx/sem.jpg"); // FTP?den indireceğimiz dosyayı belirtiyoruz? request.Method = WebRequestMethods.Ftp.UploadFile; request.Credentials = new NetworkCredential("xxxxx ", " xxxxx "); // Login olmak için gerekli bilgilerini oluşturalım. StreamReader sourceStream = new StreamReader("c:/sem.jpg"); byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); sourceStream.Close(); request.ContentLength = fileContents.Length; Stream requestStream = request.GetRequestStream(); requestStream.Write(fileContents, 0, fileContents.Length); requestStream.Close(); -------------------------------------------------------------------------------------------------------------------- Upload işlemimiz de bu kadar. Şimdi bu yaptıklarımızı test edelim İlk Olarak Yükle butonuna tıklayalım; FTP?ye bağlanalım, bakalım upload işlemini gerçekleştirmişmi? Evet Sem.jpg isimli dosya sunucu da artık J Şimdi hemen altındaki sem.swf isimli dosyayı Bilgisayarımıza indirelim. Bunun için indir butonuna tıklayalım. Sonucu görmek için C: sürücüsüne bakalım; Evet sem.swf?yi bilgisayarımıza indirdik. Gerçekten güzel ve işe yarayacak bir class?mış J Bu makalenin de sonuna geldik, başka bir makalede görüşmek üzere başarı ve iyi günler dilerim. Sem GÖKSU Link to comment Share on other sites More sharing options...
AxiUfuk Posted September 19, 2008 Share Posted September 19, 2008 pek anlamam ama TNC yaparsa yapar kesin işede yarar Link to comment Share on other sites More sharing options...
wmismail Posted September 19, 2008 Author Share Posted September 19, 2008 pek anlamam ama TNC yaparsa yapar kesin işede yarar sadece kaynak kodlar.. Link to comment Share on other sites More sharing options...
By_Neo Posted September 23, 2008 Share Posted September 23, 2008 sagol kardeşim belliki ugrasmıssın:)Ellerine sağlık Link to comment Share on other sites More sharing options...
özo Posted September 23, 2008 Share Posted September 23, 2008 Konu ile alakalı değil ama öğrenmek istediğim bişey var abimin bi sitesi var o site üzerinden bir FTP programı ile bilgisayarımdan dosya paylaşımı yapabilirmiyim. Cevap evet ise Cute FTP programı var nereden başlamalıyım bu konuda hiç bir bilgim yok Link to comment Share on other sites More sharing options...
wmismail Posted October 2, 2008 Author Share Posted October 2, 2008 upload ve download yapabilirsin. paylaşımdan kastın bir hosta upload edip indirtmekse olur. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.