网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

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

后端代码:
 
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) 
            {
                
            } 
        } 
    }
}
 
前端代码:
 

名称栏目:ASP.NET(c#)FTP上传文件文件夹【递归上传】
文章起源:http://bjjierui.cn/article/jdhjpo.html

其他资讯