4
我正在從ftp服務器上拖動一個文件,並且在驗證傳輸成功完成的驗證方法方面感到不舒服。如何判斷文件傳輸何時完成(服務器到客戶端)
感覺就像必須有一個更具體的方式來檢測成功的轉移。有任何想法嗎?
我的代碼:
var request = (FtpWebRequest)FtpWebRequest.Create(ftpFilePath);
request.KeepAlive = false;
request.UseBinary = true;
request.UsePassive = false;
request.Credentials = new NetworkCredential("Username", "Password");
request.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
using (var stream = response.GetResponseStream())
{
using (var reader = new StreamReader(stream))
{
contents = reader.ReadToEnd();
}
}
//Check to see if transfer was successful
if (response.StatusDescription.StartsWith("2"))
transferSuccessful = true;
雖然傳輸後FtpWebResponse.StatusCode結果在FtpStatusCode.ClosingData中。 – Khan
哦!但是看起來很好。我剛剛閱讀了狀態碼摘要:*指定服務器正在關閉數據連接,並且所請求的文件操作已成功。* – Khan
如果您在答案中將FtpStatusCode.CommandOK更改爲FtpStatusCode.ClosingData,我會接受它。 – Khan