FTP サーバーにディレクトリを作成しようとしています。Google 検索では、この質問がここに表示されます。 だから私はジョンが彼の答えとして書いたものに従いました:
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
。ただし、 my を実行するたびに、MakeDirectory()
上記の行で例外が発生します。
The remote server returned an error: (550) File unavailable (e.g., file not found, no access).
何か不足していますか?GetResponse()
私のディレクトリのチェックでは動作するのに、私の では動作しないのはなぜMakeDirectory()
ですか?