Upload File to FTP Programmatically
FTP is a standards based means of transferring files from one location
to another. It has been there for moving files across the Internet for
quite some time. Microsoft .NET supports FTP with the out of the box
implementation of
WebClient
. When the WebClient
sees ftp://
as part of the address it will internally use an
FtpWebRequest
object to perform the transfer. The following example code demonstrates how to use the
WebClient
to upload a file to an FTP site. static bool UploadFile(string filename) { string host = @"ftp://[YourFtpServerHere]/"; string userName = "[username]"; string password = "[password]"; // Checks for the URL starts from ftp://.. if (!host.StartsWith("ftp://")) { host = "ftp://" + host; } Uri uri = new Uri(host); FileInfo file = new FileInfo(filename); string destinationFilename = host + "/" + file.Name; try { WebClient client = new WebClient(); // Setting the User Credentials client.Credentials = new NetworkCredential(userName, password); byte[] response = client.UploadFile(destinationFilename, filename); if (response.Length > 0) { Console.WriteLine("Response from upload: {0}", Encoding.ASCII.GetString(response)); } return true; } catch (WebException webEx) { Console.WriteLine("An exception occurred during the upload: {0}", webEx.Message); return false; } }
With modifying the static void watcher_Created(object sender, FileSystemEventArgs e) event, with:
static void watcher_Created(object sender, FileSystemEventArgs e) { UploadFile(e.name); }