ASP.NET(c#)FTP 上传文件文件夹【递归上传】
2013-01-21 15:19
627 查看
后端代码:
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:Button ID="Button2" runat="server" Text="Button" />
本文出自 “天道酬勤” 博客,请务必保留此出处http://yuhaitao.blog.51cto.com/3930555/1123299
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:Button ID="Button2" runat="server" Text="Button" />
本文出自 “天道酬勤” 博客,请务必保留此出处http://yuhaitao.blog.51cto.com/3930555/1123299
相关文章推荐
- ASP.NET(C#)-利用递归遍历文件夹和文件存入TreeView---转自360个人图书馆
- asp.net ftp 上传,下载,删除文件,创建文件夹,删除文夹,重命名类
- 用ASP.net(c#)上传各种文件的实例
- 利用ASP.NET设计FTP文件上传
- [翻译]ASP.NET(C#) 中的文件上传进度条
- ASP.NET 2.0(C#)文件上传
- asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)
- Asp.net(c#)常用文件操作类封装 移动 复制 删除 上传 下载等
- 利用ASP.NET设计FTP文件上传(下)
- Asp.net 通过Ftp上传文件
- asp.net下CKFinder IE浏览器中上传图片文件时提示“无效文件名或文件夹名称”的解决方法(原创文章)
- FTP上传下载 FTP操作类 FTPHelper 异步上传 递归创建文件文件夹
- ASP.NET 2.0(C#)实现多文件上传
- asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)
- 利用Apache commons-net 包进行FTP文件和文件夹的上传与下载
- Asp.net C#上传文件
- 【原创】asp.net(C#)上传图片(文件)类
- c# .net获取文件夹下的所有文件(多层递归),并获取区间数据(Jsion,xml等数据)写出到处理文件,学习分享~
- 利用ASP.NET设计FTP文件上传
- apache-commons-net Ftp 进行文件、文件夹的上传下载及日志的输出