protected void Button2_Click(object sender, EventArgs e)
{
GetFiles(testDir);
}
public void GetFiles(string dir)
{
FtpClientService ftpClient = new FtpClientService();
try
{
//首先獲取所有目錄列表,在服務端創建目錄,不然我們上傳文件的時候,找不到對應的文件夾是會報錯的
string[] dirs = Directory.GetDirectories(dir);
//判斷該目錄下,是否還有文件夾,有的話就循環創建文件夾,同時也會將對應文件夾下的文件也上傳上去
if (dirs.Length > 0)
{
foreach (string d in dirs)
{
if (!string.IsNullOrEmpty(dir.Replace(testDir, "")))
{
ftpClient.MakeDir(dir.Replace(testDir, "").Replace("\\", "/"), new Uri("ftp://192.168.131.163/sss"));
string[] files = Directory.GetFiles(dir);
foreach (string f in files)
{
ftpClient.UploadFile(f, new Uri("ftp://192.168.131.163/sss" + dir.Replace(testDir, "").Replace("\\", "/")), 0, WebRequestMethods.Ftp.UploadFile);
}
}
if (Directory.Exists(d))
{
GetFiles(d);//遞歸調用
}
}
}
else//如果該目錄下沒有文件夾了,則讀取下該文件夾里面的內容,看是否有文件
{
ftpClient.MakeDir(dir.Replace(testDir, "").Replace("\\", "/"), new Uri("ftp://192.168.131.163/sss"));
string[] files = Directory.GetFiles(dir);
foreach (string f in files)
{
ftpClient.UploadFile(f, new Uri("ftp://192.168.131.163/sss" + dir.Replace(testDir, "").Replace("\\", "/")), 0, WebRequestMethods.Ftp.UploadFile);
}
}
}
catch (Exception ex)
{
}
}
}
}
前端代碼:
<asp:Button ID="Button2" runat="server" Text="Button" />