C# Ftp创建文件夹

该博客介绍了如何使用C#编程语言通过FTP创建单级和多级文件夹。提供了一个`MakeDir`方法,不仅能创建单级目录,还解决了创建多级目录时可能遇到的问题。

///
/// 创建ftp目录
///
/// ftp文件目录.例如“/test/fff/”
///
public bool MakeDir(string dirName)
{
try
{
if (FtpDirExists(dirName)) return true;
string lll = FtpUrl + dirName.TrimStart(’/’);
FtpWebRequest ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(FtpUrl + dirName.TrimStart(’/’)));
ftpWebRequest.UseBinary = true;
ftpWebRequest.Credentials = new NetworkCredential(UserName, PassWord);
ftpWebRequest.Method = WebRequestMethods.Ftp.MakeDirectory;
FtpWebResponse response = (FtpWebResponse)ftpWebRequest.GetResponse();
response.Close();
response.Dispose();
return true;
}
catch (Exception ex)
{
ErrorLog(ex);
}
return false;
}

需要注意,上述的方法只能创建单级文件夹,创建多级文件夹时会报找不到文件的错误。

///
/// 创建ftp目录
///
/// ftp文件目录.例如“/test/fff/”
///
public bool MakeDir(string dirName)
{
try
{
string fullDir = dirName.Substring(0, dirName.LastIndexOf("/"));
string[] dirs = fullDir.Split(’/’);
string curDir = “/”;
for (int i = 0; i < dirs.Length; i++)
{
string dir = dirs[i];
if (dir != null && dir.Length > 0) //如果是以/开始的路径,第一个为空
{
curDir += dir + “/”;
if (FtpDirExists(curDir)) continue;
string lll = FtpUrl + curDir.TrimStart(’/’);
FtpWebRequest ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(FtpUrl + curDir.TrimStart(’/’)));
ftpWebRequest.UseBinary = true;
ftpWebRequest.Credentials = new NetworkCredential(UserName, PassWord);
ftpWebRequest.Method = WebRequestMethods.Ftp.MakeDirectory;
FtpWebResponse response = (FtpWebResponse)ftpWebRequest.GetResponse();
response.Close();
response.Dispose();
}
}
return true;
}
catch (Exception ex)
{
ErrorLog(ex);
}
return false;
}
这种方式可以解决一次创建多级目录问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值