中易网

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

答案:4  悬赏:10  
解决时间 2021-01-11 23:55
  • 提问者网友:孤凫
  • 2021-01-11 16:12
c# .net ftp方式创建文件夹
最佳答案
  • 二级知识专家网友:玩家
  • 2021-01-11 17:39
//判断文件的目录是否存,不存则创建
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;
}
全部回答
  • 1楼网友:低音帝王
  • 2021-01-11 20:54
Directory.CreateDirectory("路径")追问太没诚意了
  • 2楼网友:白昼之月
  • 2021-01-11 19:23
上面代码可以么?追问当然不可以,也不知道楼上的怎么想的
  • 3楼网友:逐風
  • 2021-01-11 19:04
//上传文件
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;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息