Using.NET 2.0, как мне FTP на сервер, получить файл и удалить файл?

имеет ли .NET (C#) встроенные библиотеки для FTP? Мне не нужно ничего сумасшедшего... очень просто.

Мне нужно:

  1. FTP в аккаунт
  2. определить, если соединение было отказано
  3. получить текстовый файл
  4. удалить текстовый файл

какой самый простой способ сделать это?

5 ответов


использовать FtpWebRequest класс, или просто старый WebClient класса.

FTP в учетную запись и получить файл:

WebClient request = new WebClient();
request.Credentials = 
    new NetworkCredential("anonymous", "janeDoe@contoso.com");
try 
{
    // serverUri here uses the FTP scheme ("ftp://").
    byte[] newFileData = request.DownloadData(serverUri.ToString());
    string fileString = Encoding.UTF8.GetString(newFileData);
}
catch (WebException ex)
{
    // Detect and handle login failures etc here
}

удалить файл:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.DeleteFile;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Delete status: {0}", response.StatusDescription);  
response.Close();

(примеры кода из MSDN.)


в этой статье реализует GUI для FTP-клиента с помощью .NET 2.0 и имеет полный источник с примерами.

пример кода включает в себя подключение, загрузку и загрузку, а также хорошие комментарии и объяснения.


просто использовать FtpWebRequest класса. Он уже обрабатывает все, что вам нужно.


использовать System.Net.FtpWebRequest/FtpWebResponse


использовать edtFTPnet, бесплатная библиотека FTP с открытым исходным кодом .NET, которая сделает все, что вам нужно.