Export (0) Print
Expand All

FtpWebResponse::StatusCode Property

Gets the most recent status code sent from the FTP server.

Namespace:  System.Net
Assembly:  System (in System.dll)

public:
property FtpStatusCode StatusCode {
	FtpStatusCode get ();
}

Property Value

Type: System.Net::FtpStatusCode
An FtpStatusCode value that indicates the most recent status code returned with this response.

The value returned by the StatusCode property is included in the StatusDescription property. When you are downloading data, the value of StatusCode changes as status codes are returned by the FTP server. After you call the GetResponse method, StatusCode contains an intermediate status code. When you call the Close method, StatusCode contains the final status.

The following code example uploads a file to a server and displays the status.

static bool UploadFileToServer( String^ fileName, Uri^ serverUri )
{
   // The URI described by serverUri should use the ftp:// scheme. 
   // It contains the name of the file on the server. 
   // Example: ftp://contoso.com/someFile.txt. 
   //  
   // The fileName parameter identifies the file containing the data to be uploaded. 
   if ( serverUri->Scheme != Uri::UriSchemeFtp )
   {
      return false;
   }

   // Get the object used to communicate with the server.
   FtpWebRequest^ request = dynamic_cast<FtpWebRequest^>(WebRequest::Create( serverUri ));
   request->Method = WebRequestMethods::Ftp::UploadFile;

   // Don't set a time limit for the operation to complete.
   request->Timeout = System::Threading::Timeout::Infinite;

   // Copy the file contents to the request stream. 
   const int bufferLength = 2048;
   array<Byte>^buffer = gcnew array<Byte>(bufferLength);
   int count = 0;
   int readBytes = 0;
   FileStream^ stream = File::OpenRead( fileName );
   Stream^ requestStream = request->GetRequestStream();
   do
   {
      readBytes = stream->Read( buffer, 0, bufferLength );
      requestStream->Write( buffer, 0, bufferLength );
      count += readBytes;
   }
   while ( readBytes != 0 );

   Console::WriteLine( "Writing {0} bytes to the stream.", count );

   // IMPORTANT: Close the request stream before sending the request.
   requestStream->Close();
   FtpWebResponse^ response = dynamic_cast<FtpWebResponse^>(request->GetResponse());
   Console::WriteLine( "Upload status: {0}, {1}", response->StatusCode, response->StatusDescription );
   response->Close();
   return true;
}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft