我想要做的是使用C#上传网站,需要使用FTP。因此,我需要上传文件夹中的所有文件和文件夹,并保持其结构。我正在使用这个FTP类:http://www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class进行实际上传。
我得出结论,我需要编写一个递归方法,遍历主目录下的每个子目录,并上传其中的所有文件和文件夹。这应该能够完全复制我的文件夹到FTP上。问题是...我不知道如何编写这样的方法。我之前写过递归方法,但对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上传包括所有子目录和文件的目录?