[英]C# ftp Error 550
我正在使用FtpWebRequest
来创建目录Now,并且我会收到类似ftp error 550: File unavailable
异常ftp error 550: File unavailable
。 尽管有时我可以成功建立目录,但始终会遇到此异常。
下面是我的CheckDir函数:
protected string CheckDir(string fullpath, string ip, string acc, string pwd)
{
string[] path = fullpath.Split(slash[1]);
bool result = false;
FtpWebRequest request = (FtpWebRequest)(WebRequest.Create(ip + path[2]));
request.Credentials = new NetworkCredential(acc, pwd);
request.Method = WebRequestMethods.Ftp.GetDateTimestamp;
request.Timeout = 10000;
try
{
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
result = true;
}
}
catch (WebException ex)
{
FtpWebResponse response = (FtpWebResponse)ex.Response;
if (response != null && response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
{
request = (FtpWebRequest)WebRequest.Create(ip + path[2]);
request.Credentials = new NetworkCredential(acc, pwd);
request.Method = WebRequestMethods.Ftp.MakeDirectory;
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = false;
request.GetResponse();
result = true;
}
else
{
result = false;
}
}
if (result == true)
return path[2];
else
return null;
}
我发现我有办法检查现有目录。 然后,我将Contains
与ListDirecotyDetails
一起ListDirecotyDetails
。
这是我的功能:
protected string CheckDir(string fullpath, string c_ip, string c_acc, string c_pwd)
{
string[] path = fullpath.Split(slash[1]);
bool result = false;
try
{
if (WebRequestMethods.Ftp.ListDirectoryDetails.Contains(c_ip + path[2]))
{
result = true;
}
else
{
FtpWebRequest request = (FtpWebRequest)(WebRequest.Create(c_ip + path[2]));
request.Credentials = new NetworkCredential(c_acc, c_pwd);
request.Method = WebRequestMethods.Ftp.MakeDirectory;
request.KeepAlive = false;
try
{
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close();
}
catch (Exception)
{
request.Abort();
result = false;
}
request.Abort();
result = true;
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
if (result == true)
return path[2];
else
return null;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.