簡體   English   中英

使用 WinSCP .NET 程序集防止超過 FTP 的不完整文件傳輸

[英]Prevent incomplete file transfer over FTP using WinSCP .NET Assembly

我只是想使用windows 服務將文本文件從一台FTP服務器傳輸到另一台服務器。 我從源 FTP 服務器下載所需的文件並將其保存在我的系統本地,然后將保存的文件上傳到目標服務器。 我正在使用WinSCP.Net Assembly下載和上傳文件。 這是我用來將文件傳輸到目標服務器的代碼:

WinSCP.SessionOptions sessionOptions = new WinSCP.SessionOptions();
sessionOptions.Protocol = WinSCP.Protocol.Ftp;
sessionOptions.UserName = "myUsername";
sessionOptions.Password = "myPassword"
sessionOptions.PortNumber = 21;
sessionOptions.HostName = serverIPAddress;

session.Open(sessionOptions);

WinSCP.TransferOptions transferOptions = new WinSCP.TransferOptions();
transferOptions.TransferMode = WinSCP.TransferMode.Binary;
WinSCP.TransferOperationResult transferResult;
transferResult = session.PutFiles(PathToLocalFile + filename, destinationFilePath, false, transferOptions);
transferResult.Check();

它工作正常並將文件上傳到服務器,但如果在傳輸文件時出現連接問題,則所需文件的不完整塊將傳輸到目標服務器。

我已經搜索了 WinSCP 官方文檔,但找不到與此相關的任何內容。

有沒有辦法確保只有完整的文件被傳輸到目的地,否則(如果傳輸過程中發生錯誤),傳輸的文件塊會自動刪除? (無需手動刪除不完整的文件)

沒有辦法讓它自動。

您必須對其進行編碼。 只需檢查,如果傳輸失敗,重新連接(如果需要),並刪除部分上傳的文件。

盡管如評論中所述,如果傳輸失敗,由於連接問題,您可能無法重新連接以刪除文件。

沒有神奇的解決方案。 服務器首先應該能夠處理部分文件。

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM