Introduction
This code is an FTP class library for adding FTP access to your projects. It is heavily based on a project (see background for original code), and is now contained in the source files. I was not sure how to update the original article or add to it so I am publishing this as a new article since there was an extensive re-work of the original code in an attempt to make it more developer-friendly.
Background
This article, and code, are based upon the ftplib posted by J.P. Trosclair. A link to the article is here. I have left original copyright and credit notices in with the updated version of the code.
Using the code
I used nDoc to create a CHM file (in the doc directory of the code) to help with implementation. Its fairly simple, and you will mainly need basic FTP connection information (IP, username, etc.) to use the library.
An example is included in the documentation, and appears as so (to upload a file):
OpenFTP.FTP f = new OpenFTP.FTP();
f.Connect("127.0.0.1", "username_here", "password_here");
f.ChangeDirectory("somedirectory");
f.Files.Upload(Path.GetFileName(sFileName), Path.GetFileName(sFileName));
while (!f.Files.UploadComplete)
{
Console.WriteLine("Uploading: TotalBytes: " +
f.Files.TotalBytes.ToString() + ", : PercentComplete: " +
f.Files.PercentComplete.ToString());
}
Console.WriteLine("Upload Complete: TotalBytes: " +
f.Files.TotalBytes.ToString() + ", : PercentComplete: " +
f.Files.PercentComplete.ToString());
f.Disconnect();
f = null;
Points of Interest
I liked the original article but decided that even though I could read and implement the code I wanted its implementation to be more simplistic so months later I won't have to re-read any code to figure how to include the methods in a new project. I have tried to remove the rough edges.