'没有这样的文件'使用Tamir.SharpSSH通过sftp下载文件

时间:2015-03-09 15:17:53

标签: c# asp.net ftp sftp

我在sftp.GetFileList(ftpHost)上收到错误消息"没有这样的文件"。 使用给定的IP和凭据我已经测试过他们对我连接的所有目录都有权限。

    string FileName = Label6.Text;
    string rootPath = Server.MapPath("~");
    string FolderName = "\\DL" + DateTime.Now.ToString("yyyyMMddHHmmss");
    System.IO.Directory.CreateDirectory(rootPath + FolderName);
    string rootPath1 = rootPath + FolderName;
    string ftphost = "***.***.***.***";
    string ftpfullpath = "ftp://" + ftphost + FileName;
    int port = 22;


    Sftp sftp = new Sftp("***.***.***.***", "@!#^@!^$", "!@#^#@#^&");
    sftp.Connect(port);
    sftp.GetFileList(ftphost);
    ArrayList res = sftp.GetFileList(ftphost);
    foreach (var item in res)
    {
        if (item.ToString() != "." && item.ToString() != "..")
        Debug.WriteLine(item.ToString());

    }
    sftp.Get(ftpfullpath, rootPath1);  

编辑:用于连接到ftp的帐户还有一个脚本,将其放入特定目录,是否有必要以某种方式将Get或GetFileList重定向到根目录?

1 个答案:

答案 0 :(得分:2)

  • GetFileList方法接受检索列表的路径。不是主机名。您已在Sftp构造函数中指定了主机名。
  • Get方法相同。
  • 此外,您使用的是SFTP协议,为什么ftp://前缀?
  • 请注意,您拨打GetFileList两次。
  • SharpSSH是一个糟糕的选择。它没有维持多年。