FtpWebResponse.StatusCode 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得從 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 會包含最終狀態。