The following FtpUploadFile method uploads a file to an FTP server. The to_uri parameter is a URI (Uniform Resource Identifier) that identifies the target file as in ftp://www.somewhere.com/test.txt. The other parameters are self-explanatory.
// Use FTP to upload a file. private void FtpUploadFile(string filename, string to_uri, string user_name, string password) { // Get the object used to communicate with the server. FtpWebRequest request = (FtpWebRequest)WebRequest.Create(to_uri); request.Method = WebRequestMethods.Ftp.UploadFile; // Get network credentials. request.Credentials = new NetworkCredential(user_name, password); // Read the file's contents into a byte array. byte[] bytes = System.IO.File.ReadAllBytes(filename); // Write the bytes into the request stream. request.ContentLength = bytes.Length; using (Stream request_stream = request.GetRequestStream()) { request_stream.Write(bytes, 0, bytes.Length); request_stream.Close(); } }
The code starts by creating a WebRequest object associated with the URI and by setting its Method property to UploadFile.
Next the program creates a NetworkCredentials object to identify the account being used to upload the file. The example shown in the picture assumes you are using anonymous FTP. If you are using a username and password, fill them in on the main form.
The code uses System.IO.File.ReadAllBytes to read the file’s contents into a byte array and sets the requests object’s ContentLength property to the length of the text to be uploaded. It gets a request stream that it can use to write into the request and writes the bytes into it. After it’s done, the code closes the stream.



