Wysyłanie pliku przez FTP w C#

/// <summary>
/// Funkcja wysyłająca plik na serwer FTP.
/// przykładowe użycie:
/// FTP(@"c:\plik.cs", @"ftp://ftp.piotreksul.net/plik.cs",
/// "mojLogin", "mojeHaslo");
/// </summary>
/// <param name = "sciezkaLokalna"> sciezka pliku do wysłania </param>
/// <param name = "sciezkaNaSerwerze"> pełna ścieżka pliku na serwerze </param>
/// <param name = "login"> nazwa użytkownika FTP </param>
/// <param name = "haslo"> hasło do FTP </param>
void FTP(string sciezkaLokalna, string sciezkaNaSerwerze,
string login, string haslo)
{
FtpWebRequest ftp = (FtpWebRequest) WebRequest.Create(sciezkaNaSerwerze);
ftp.Credentials = new NetworkCredential(login, haslo);
ftp.KeepAlive = true;
ftp.UseBinary = true;
ftp.Method = WebRequestMethods.Ftp.UploadFile;
FileStream fs = File.OpenRead(sciezkaLokalna);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream ftpstream = ftp.GetRequestStream();
ftpstream.Write(buffer, 0, buffer.Length);
ftpstream.Close();
}