热门IT资讯网

ASP.NET(c#)FTP 上传文件文件夹【递归上传】

发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,后端代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sys
后端代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Net; using System.IO; namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { string testDir = @"E:\EveryDayWorks\2013-1\1-18\redis"; protected void Page_Load(object sender, EventArgs e) { } 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) { } } } } 前端代码:
0