Mai Hu Na

Mai Hu Na

  • NA
  • 86
  • 131k

The remote server returned an error: (550) File unavailable

Mar 7 2013 1:23 AM
hi all,
        i am using c# code to upload large files using FPT protocole but it gives Erorr while reading this line code:

       System.IO.Stream _Stream = _FtpWebRequest.GetRequestStream();
Error is

    The remote server returned an error: (550) File unavailable (e.g., file not found, no access).Error number is 017

my whole code is


            System.IO.FileInfo _FileInfo = new System.IO.FileInfo(_FileName);
            // Create FtpWebRequest object from the Uri provided
            System.Net.FtpWebRequest _FtpWebRequest = (System.Net.FtpWebRequest)System.Net.FtpWebRequest.Create(new Uri(_UploadPath));
            // Provide the WebPermission Credintials
            _FtpWebRequest.Credentials = new System.Net.NetworkCredential(_FTPUser, _FTPPass);
            // By default KeepAlive is true, where the control connection is not closed
            // after a command is executed.
            _FtpWebRequest.KeepAlive = false;
            // set timeout for 20 seconds
            _FtpWebRequest.Timeout = 20000;
            // Specify the command to be executed.
            _FtpWebRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile;
            // Specify the data transfer type.
            _FtpWebRequest.UseBinary = true;
            // Notify the server about the size of the uploaded file
            _FtpWebRequest.ContentLength = _FileInfo.Length;
            // The buffer size is set to 2kb
            int buffLength = 2048;
            byte[] buff = new byte[buffLength];
            // Opens a file stream (System.IO.FileStream) to read the file to be uploaded
            System.IO.FileStream _FileStream = _FileInfo.OpenRead();
            try
            {
                // Stream to which the file to be upload is written
                System.IO.Stream _Stream = _FtpWebRequest.GetRequestStream();
                // Read from the file stream 2kb at a time
                int contentLen = _FileStream.Read(buff, 0, buffLength);
                // Till Stream content ends
                while (contentLen != 0)
                {
                    // Write Content from the file stream to the FTP Upload Stream
                    _Stream.Write(buff, 0, contentLen);
                    contentLen = _FileStream.Read(buff, 0, buffLength);
                }
                // Close the file stream and the Request Stream
                _Stream.Close();
                _Stream.Dispose();
                _FileStream.Close();
                _FileStream.Dispose();
            }
catch (Exception ex)
            {
                Console.WriteLine(ex.Message,"Upload Error");
            }
plz help