Reputation: 17089
Does .NET (C#) have built in libraries for FTP? I don't need anything crazy... very simple.
I need to:
What's the easiest way to do this?
Upvotes: 6
Views: 2433
Reputation: 1006
Use edtFTPnet, a free, open source .NET FTP library that will do everything you need.
Upvotes: 0
Reputation: 9727
Use the FtpWebRequest class, or the plain old WebClient class.
FTP into an account and retrieve a file:
WebClient request = new WebClient();
request.Credentials =
new NetworkCredential("anonymous", "[email protected]");
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
}
Delete the file:
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();
(Code examples are from MSDN.)
Upvotes: 7
Reputation: 18821
Just use the FtpWebRequest class. It already handles all the things you require.
Upvotes: 2
Reputation: 69342
This article implements a GUI for an FTP client using .NET 2.0 and has full source with examples.
Sample code includes connection, download and upload as well as good comments and explanations.
Upvotes: 2