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. Veysel Ugur KIZMAZ
C#'ta FTP ile Dosya Alma
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;
}
}