Check if directory exists on FTP server

2019-04-21 13:44发布

问题:

I'm running a check to see if a directory exists on my FTP server:

    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;
    }

In this case:

directory = @"ftp://ftp.example.com/Rubicon";

On my server, I have a folder named Rubicon1. This is causing my check to return true. How can I ensure that it fails unless it matches the directory name exactly?

回答1:

I successfully solved this issue by changing my directory to be:

directory = @"ftp://ftp.example.com/Rubicon/";