我正在尝试在我的 FTP 服务器上创建一个目录。谷歌搜索显示我 this question here.所以我按照乔恩写的作为他的回答,并且:
private static void MakeDirectory(string directory)
{
Log("Making directory...");
var request = (FtpWebRequest)WebRequest.Create(directory);
request.Method = WebRequestMethods.Ftp.MakeDirectory;
request.Credentials = new NetworkCredential("user", "pass");
try
{
using (var resp = (FtpWebResponse)request.GetResponse()) // Exception occurs here
{
Log(resp.StatusCode.ToString());
}
}
catch (WebException ex)
{
Log(ex.Message);
}
}
我有一个方法来验证目录是否存在:
public bool DirectoryExists(string directory)
{
bool directoryExists;
var request = (FtpWebRequest)WebRequest.Create(directory);
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("user", "pass");
try
{
using (request.GetResponse())
{
directoryExists = true;
}
}
catch (WebException)
{
directoryExists = false;
}
return directoryExists;
}
检查确实有效。如果存在,则返回 true
,如果不存在,则返回 false
。但是,每当我运行 MakeDirectory()
时,我都会在上述行中遇到异常:
The remote server returned an error: (550) File unavailable (e.g., file not found, no access).
我错过了什么吗?为什么 GetResponse()
可以用于我的目录检查,但不能用于我的 MakeDirectory()
?
最佳答案
事实证明,这是运行我们网络服务器的公司的问题。他们昨晚做了一些 FTP 更新,这不仅影响了我自己,也影响了他们所有的客户。他们已经解决了这个问题。他们只花了一天时间就承认这是他们的错。
关于c# - 在 FTP 服务器上创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14613217/