FtpWebResponse.StatusCode 属性

定义

获取从 FTP 服务器上发送的最新状态代码。

public:
 property System::Net::FtpStatusCode StatusCode { System::Net::FtpStatusCode get(); };
public System.Net.FtpStatusCode StatusCode { get; }
member this.StatusCode : System.Net.FtpStatusCode
Public ReadOnly Property StatusCode As FtpStatusCode

属性值

FtpStatusCode 值,它指示与此响应一起返回的最新状态代码。

示例

下面的代码示例将文件上传到服务器并显示状态。

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;
}
public 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 = (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;
    byte[] buffer = new 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 = (FtpWebResponse) request.GetResponse();
    Console.WriteLine("Upload status: {0}, {1}", response.StatusCode, response.StatusDescription);

    response.Close();
    return true;
}

注解

属性返回 StatusCode 的值包含在 属性中 StatusDescription 。 下载数据时,由于状态代码由 FTP 服务器返回, StatusCode 值会发生变化。 调用 GetResponse 方法后, StatusCode 包含中间状态代码。 调用 Close 方法时, StatusCode 包含最终状态。

适用于

另请参阅