在FTP服务器上创建目录

时间:2013-01-30 20:35:16

标签: c# ftp

我正在尝试在我的FTP服务器上创建一个目录。谷歌搜索向我显示this question here.所以我按照Jon写的回答,并且:

    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()

1 个答案:

答案 0 :(得分:1)

事实证明,这是运行我们的Web服务器的公司的一个问题。他们昨晚做了一些FTP更新,不仅影响了我自己,也影响了所有客户。他们已经解决了这个问题。他们花了一天的时间才承认这是他们的错。

相关问题