FtpWebResponse.StatusCode 属性
定义
获取从 FTP 服务器上发送的最新状态代码。Gets the most recent status code sent from the FTP server.
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 值,它指示与此响应一起返回的最新状态代码。An FtpStatusCode value that indicates the most recent status code returned with this response.
示例
下面的代码示例将文件上传到服务器并显示状态。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;
}
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 属性中。The value returned by the StatusCode property is included in the StatusDescription property. 下载数据时, StatusCode FTP 服务器返回作为状态代码更改的值。When you are downloading data, the value of StatusCode changes as status codes are returned by the FTP server. 调用 GetResponse 方法后,将 StatusCode 包含中间状态代码。After you call the GetResponse method, StatusCode contains an intermediate status code. 当调用方法时 Close ,将 StatusCode 包含最终状态。When you call the Close method, StatusCode contains the final status.