Veysel Uğur KIZMAZ

C#'ta FTP ile Dosya Alma

16.06.2012Okunma Sayısı: 10539Kategori: C#.Net

Bir önceki makalede FTP'nin ne oldugunu inceleyip FTP ile dosya gönderme islemini gerçeklestirmistik.

Simdi ise FTP ile sunucudan dosya alma islemini inceleyelim.

Dosya alma islemi için C# kodlari ve açiklamalari asagidadir.

 

 

        public string FTPdenDosyaIndir(string dosya,string klasor)
        {
            FtpWebRequest ftpIstegi;
            try
            {
               
                FileStream stream = new FileStream(klasor + "\\" + dosya.Substring(dosya.LastIndexOf('\\')), FileMode.Create);
 
                //Alinacak dosyayi bul
                ftpIstegi = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + dosya.Substring(dosya.LastIndexOf('\\'))));
               
                // Yapilacak islem (Download)
                ftpIstegi.Method = WebRequestMethods.Ftp.DownloadFile;
               
                //Verinin alim sekli.
                ftpIstegi.UseBinary = true;
 
                //Kullanici adi ve sifre
                ftpIstegi.Credentials = new NetworkCredential("deneme@ugurkizmaz.com", "123s");
               
                FtpWebResponse yanit = (FtpWebResponse)ftpIstegi.GetResponse();
              
                Stream ftpStream = yanit.GetResponseStream();
               
                //Buffer uzunlugu
                int bufferUzunlugu = 2048;
                byte[] buffer = new byte[bufferUzunlugu];
                int okumaSayisi = ftpStream.Read(buffer, 0, bufferUzunlugu);
              
                while (okumaSayisi > 0)
                {
                    stream.Write(buffer, 0, okumaSayisi);
                    okumaSayisi = ftpStream.Read(buffer, 0, bufferUzunlugu);
                }
                ftpStream.Close();
                stream.Close();
                yanit.Close();
                return "";
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
 

Veysel Ugur KIZMAZ