溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET(c#)FTP 上傳文件文件夾【遞歸上傳】

發(fā)布時間:2020-04-06 06:56:33 來源:網絡 閱讀:2572 作者:manong 欄目:編程語言
后端代碼:
 
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 
            { 
                //首先獲取所有目錄列表,在服務端創(chuàng)建目錄,不然我們上傳文件的時候,找不到對應的文件夾是會報錯的
                string[] dirs = Directory.GetDirectories(dir);
                //判斷該目錄下,是否還有文件夾,有的話就循環(huán)創(chuàng)建文件夾,同時也會將對應文件夾下的文件也上傳上去
                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" />
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI