The following code to check if a file exists on a server does not work

Posted by xplorer2k on Stack Overflow See other posts from Stack Overflow or by xplorer2k
Published on 2010-03-11T18:10:46Z Indexed on 2010/03/11 18:14 UTC
Read the original article Hit count: 341

Filed under:

Hi Everyone,

I found the following code to check if a file exists on a server, but is not working for me. It tells me that "test1.tx" does not exist even though the file exists and its size is 498 bytes. If I try with Ftp.ListDirectory it tells me that the file does not exist. If I try with Ftp.GetFileSize it does not provide any results and the debugger's immediate gives me the following message: A first chance exception of type 'System.Net.WebException' occurred in System.dll.

Using "request.UseBinary = true" does not make any difference.

I have posted this same question at this link: http://social.msdn.microsoft.com/Forums/en-US/ncl/thread/89e05cf3-189f-48b7-ba28-f93b1a9d44ae

Could someone help me how to fix it?

   private void button1_Click(object sender, EventArgs e)
    {
        string ftpServerIP = txtIPaddress.Text.Trim();
        string ftpUserID = txtUsername.Text.Trim();
        string ftpPassword = txtPassword.Text.Trim();

        try
        {
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + ftpServerIP + "//tmp/test1.txt");
            request.Method = WebRequestMethods.Ftp.ListDirectory;
            //request.Method = WebRequestMethods.Ftp.GetFileSize;
            request.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
            //request.UseBinary = true;

            using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
            {
                // Okay.
                textBox1.AppendText(Environment.NewLine);
                textBox1.AppendText("File exist");
            }
        }
        catch (WebException ex)
        {
            if (ex.Response != null)
            {
                FtpWebResponse response = (FtpWebResponse)ex.Response;
                if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
                {
                    // Directory not found. 
                    textBox1.AppendText(Environment.NewLine);
                    textBox1.AppendText("File does not exist");
                }
            }
        }
    }

Thanks very much, xplorer2k

© Stack Overflow or respective owner

Related posts about c#