rebex sftp文件删除的问题

时间:2011-07-28 16:06:24

标签: sftp rebex

使用Rebex sftp的SftpException: No such file; File not found.时,我得到Sftp.DeleteFile(string filename,这特别奇怪,因为我首先检查文件是否存在。

以下是相关的示例代码:

foreach (var file in fileList)
{
    if(ftp.Connection.FileExists(file.Name))
    {
        try
        {
            ftp.Connection.DeleteFile(file.Name);
        }
        catch (SftpException ex)
        {
            Log.Error("Deletion failed.", ex);
        }
    } 
    else
    {
         Log.Debug(string.Format("'{0}' not found.", file.Name));
    }
}

对于那些不熟悉图书馆的人,可以找到Rebex的在线文档here

关于这里发生了什么的任何想法?

1 个答案:

答案 0 :(得分:1)

David也在http://forum.rebex.net/questions/1635/sftpexception-no-such-file-file-not-found

的支持论坛上提出了这个问题

我也在这里录制解决方案,因为在类似情况下它可以很方便。

  • SFTP服务器上存在该文件
  • 应用程序打开一个流,用于锁定服务器上的文件
  • 无法删除文件,服务器报告“没有此类文件;找不到文件”。错误消息
  • 关闭这些流可以解决问题,现在可以删除文件。

不幸的是,在这种情况下,SFTP服务器错误消息不是很有用。有人可能会问,“拒绝访问”是否更合适。