I created a small application for Windows forms to upload a file to one of our ftp client sites. But the problem that I encountered is that when I run this application on my local computer, it successfully downloads the file. But if I run this program on our server, I get this error message:
the remote server returned an error: (550) The file is not available (for example, the file was not found, cannot access the file), in this line is 'objFTPRequest.GetRequestStream ();'.
Does anyone know why? Do I need to configure a firewall or something else? Here is my code;
FileInfo objFile = new FileInfo(filename); FtpWebRequest objFTPRequest; // Create FtpWebRequest object objFTPRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/outbox/" + objFile.Name)); // Set Credintials objFTPRequest.Credentials = new NetworkCredential(ftpUserName, ftpPassword); // By default KeepAlive is true, where the control connection is // not closed after a command is executed. objFTPRequest.KeepAlive = false; // Set the data transfer type. objFTPRequest.UseBinary = true; // Set content length objFTPRequest.ContentLength = objFile.Length; // Set request method objFTPRequest.Method = WebRequestMethods.Ftp.UploadFile; // Set buffer size int intBufferLength = 16 * 1024; byte[] objBuffer = new byte[intBufferLength]; // Opens a file to read FileStream objFileStream = objFile.OpenRead(); // Get Stream of the file Stream objStream = objFTPRequest.GetRequestStream(); int len = 0; while ((len = objFileStream.Read(objBuffer, 0, intBufferLength)) != 0) { // Write file Content objStream.Write(objBuffer, 0, len); } objStream.Close(); objFileStream.Close();
chosenOne Thabs Jul 04 '13 at 13:37 2013-07-04 13:37
source share