c# .net ftp方式创建文件夹

通过ftp打开一个服务器,判断是否有这个文件夹,如果没有则创建的最简代码,谢谢。注意别给我过多的冗余代码,也别复制什么本地创建,那些都不是我想要的,我要的是通过ftp创建... 通过ftp打开一个服务器,判断是否有这个文件夹,如果没有则创建的最简代码,谢谢。
注意别给我过多的冗余代码,也别复制什么本地创建,那些都不是我想要的,我要的是通过ftp创建,谢谢。
楼下的不懂不要乱说行不行?推荐答案中根本就是错误的,百度人也太不负责了。
展开
 我来答
xiangjuan314
2015-12-17 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2771万
展开全部
//上传文件

public static Boolean FtpUpload(string ftpPath,string localFile)

{

//检查目录是否存在,不存在创建

FtpCheckDirectoryExist(ftpPath);

FileInfo fi = new FileInfo(localFile);

FileStream fs = fi.OpenRead();

long length = fs.Length;

FtpWebRequest req = (FtpWebRequest)WebRequest.Create(ftpServerIP + ftpPath + fi.Name);

req.Credentials = new NetworkCredential(ftpUserID, ftpPassword);

req.Method = WebRequestMethods.Ftp.UploadFile;

req.ContentLength = length;

req.Timeout = 10 * 1000;

try

{

Stream stream = req.GetRequestStream();

int BufferLength = 2048; //2K

byte[] b = new byte[BufferLength];

int i;

while ((i = fs.Read(b, 0, BufferLength)) > 0)

{

stream.Write(b, 0, i);

}

stream.Close();

stream.Dispose();

}

catch (Exception e)

{

ErrLog(e.Message + e.StackTrace);

return false;

}

finally

{

fs.Close();

req.Abort();

}

req.Abort();

return true;

}

//判断文件的目录是否存,不存则创建

public static void FtpCheckDirectoryExist(string destFilePath)

{

string fullDir = FtpParseDirectory(destFilePath);

string[] dirs = fullDir.Split('/');

string curDir = "/";

for (int i = 0; i < dirs.Length; i++)

{

string dir = dirs[i];

//如果是以/开始的路径,第一个为空

if (dir != null && dir.Length > 0)

{

try

{

curDir += dir + "/";

FtpMakeDir(curDir);

}

catch (Exception)

{}

}

}

}

public static string FtpParseDirectory(string destFilePath)

{

return destFilePath.Substring(0, destFilePath.LastIndexOf("/"));

}

//创建目录

public static Boolean FtpMakeDir(string localFile)

{

FtpWebRequest req = (FtpWebRequest)WebRequest.Create(ftpServerIP + localFile);

req.Credentials = new NetworkCredential(ftpUserID, ftpPassword);

req.Method = WebRequestMethods.Ftp.MakeDirectory;

try

{

FtpWebResponse response = (FtpWebResponse)req.GetResponse();

response.Close();

}

catch (Exception)

{

req.Abort();

return false;

}

req.Abort();

return true;

}
格雷大橙子
推荐于2016-06-26 · TA获得超过234个赞
知道小有建树答主
回答量:410
采纳率:50%
帮助的人:120万
展开全部
//判断文件的目录是否存,不存则创建
publicstaticvoid FtpCheckDirectoryExist(string destFilePath)
{
string fullDir = FtpParseDirectory(destFilePath);
string[] dirs = fullDir.Split('/');
string curDir = "/";
for (int i = 0; i < dirs.Length; i++)
{
string dir = dirs[i];
//如果是以/开始的路径,第一个为空
if (dir != null && dir.Length > 0)
{
try
{
curDir += dir + "/";
FtpMakeDir(curDir);
}
catch (Exception)
{}
}
}
}

//创建目录
publicstatic Boolean FtpMakeDir(string localFile)
{
FtpWebRequest req = (FtpWebRequest)WebRequest.Create(ftpServerIP + localFile);
req.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
req.Method = WebRequestMethods.Ftp.MakeDirectory;
try
{
FtpWebResponse response = (FtpWebResponse)req.GetResponse();
response.Close();
}
catch (Exception)
{
req.Abort();
returnfalse;
}
req.Abort();
returntrue;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
销量第一118
2012-07-10
知道答主
回答量:27
采纳率:0%
帮助的人:11.4万
展开全部
Directory.CreateDirectory("路径")
追问
太没诚意了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ac832bf
2012-07-10 · 贡献了超过105个回答
知道答主
回答量:105
采纳率:0%
帮助的人:27.7万
展开全部
上面代码可以么?
追问
当然不可以,也不知道楼上的怎么想的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式