我想要做的是在C#(C Sharp)中使用FTP上傳網站。所以我需要上傳文件夾中的所有文件和文件夾,並保持其結構。我正在使用此FTP類:http://www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class進行實際上傳。C#使用FTP上傳整個目錄
我來,我需要編寫,通過主目錄下的每個子目錄去遞歸方法和上傳的所有文件和文件夾在它的結論。這應該使我的文件夾到FTP的確切副本。問題是......我不知道如何編寫這樣的方法。我已經編寫了遞歸方法,但我是新來的FTP部分。
這是我到目前爲止有:
private void recursiveDirectory(string directoryPath)
{
string[] filePaths = null;
string[] subDirectories = null;
filePaths = Directory.GetFiles(directoryPath, "*.*");
subDirectories = Directory.GetDirectories(directoryPath);
if (filePaths != null && subDirectories != null)
{
foreach (string directory in subDirectories)
{
ftpClient.createDirectory(directory);
}
foreach (string file in filePaths)
{
ftpClient.upload(Path.GetDirectoryName(directoryPath), file);
}
}
}
但它遠遠沒有完成,我不知道該怎麼繼續。我肯定比我更需要知道這一點!感謝提前:)
喔......和這將是很好,如果報得它的進展:)(我使用一個進度條)
編輯: 它可能是不清楚...如何使用FTP上傳包含所有子目錄和文件的目錄?
而問題是什麼? – J0HN
讓我們先解決一個簡單的問題。編寫一個方法,循環訪問父文件夾中的每個文件夾,並在相關網站上創建它。一旦你這樣做,應該很容易上傳每個文件夾中的每個文件。你沒有足夠的時間來幫助我們。我不敢相信你有膽量做出功能請求..... –
要創建一個進度條,你需要獲得所有需要上傳的文件。我會將文件路徑存儲在List中。然後通過文件路徑循環將其上傳到FTP服務器。每次上傳後,更新進度。通過使用文件路徑存儲文件的大小,可以實現更準確的條形碼。然後當每個文件上傳時,按文件大小增加進度。如果你需要,我可以添加一個例子。 – Trisped