Ftp获取指定路径下文件夹和文件信息的方法:
public void GetFtpFilesInfo(string theuri, string ftpUser, string ftpPassWord)
        {
            Uri uri = new Uri("ftp://" + theuri);            FtpWebRequest listRequest = (FtpWebRequest)WebRequest.Create(uri);            listRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
            //listRequest.Method = WebRequestMethods.Ftp.ListDirectory;            listRequest.Credentials = new NetworkCredential(ftpUser, ftpPassWord);            FtpWebResponse listResponse = (FtpWebResponse)listRequest.GetResponse();            //-------------------这里,当获取返回信息的时候就提示错误。
            Stream responseStream = listResponse.GetResponseStream();
            StreamReader readStream = new StreamReader(responseStream, System.Text.Encoding.Default);            if (readStream != null)
            {
                MessageBox.Show(readStream.ReadToEnd());
            }            MessageBox.Show(string.Format("状态: {0},{1}", listResponse.StatusCode, listResponse.StatusDescription));            listResponse.Close();
            responseStream.Close();
            readStream.Close();}ftp创建文件夹的时候可以,但要判断文件夹是否重复的时候,我先获取信息,但返回接收的时候怎么就报错呢?报这个:
由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
设定了端口   ftp://***.***.*.**:21/                         貌似也不行...   

解决方案 »

  1.   

    问题就出在GetResponseStream()的时候,郁闷啊。
      

  2.   

    帮不了你什么,
    但可以肯定的告诉你是,
    你的代码没有任何问题,
    你要考虑一下是不是FTP服务器权限没有配置好或是防火墙的问题?
      

  3.   

    你查一下,你的FTP服务器有没有赋予用户列举目录的权限
      

  4.   

    我觉得应该问题出在Server的什么权限上.
      

  5.   

    创建文件夹时
     MessageBox.Show(listResponse.StatusDescription);
    创建成功后,能返回信息但检索文件夹怎么就不行呢?
      

  6.   

    很明显,
    没有目录列举权限,
    你没说什么是用什么软件架设的FTP,
    没法告诉怎么设置!
    如果是IIS的话,
    打开对应FTP的属性,选择主目录,有一项"读取"勾上即可.
      

  7.   

    就是iis啊, 肯定有 读取  写入的功能啊。用flashfxp 直接用帐户密码 可以登录 操作的。
      

  8.   

    确实是服务器配置问题。换了个服务器就可以了。公司的ftp就是用iis建的,建一个文件夹,在弄个跟文件夹名相同的用户。ftp站点,属性,主目录中都点了。还有哪没设置呢?