【问题标题】:Problems with rebex sftp file deletionrebex sftp文件删除问题
【发布时间】:2018-01-19 23:49:13
【问题描述】:

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

以下是相关示例代码:

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 找到,供不熟悉该库的人使用。

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

【问题讨论】:

  • 通常这个库只是翻译服务器的错误信息。您是否尝试过 Rebex 支持(他们响应迅速)?

标签: sftp rebex


【解决方案1】:

David 还在我们的支持论坛http://forum.rebex.net/questions/1635/sftpexception-no-such-file-file-not-found 上提出了这个问题

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

  • 该文件确实存在于 SFTP 服务器上
  • 应用程序打开一个将文件锁定在服务器上的流
  • 文件无法删除,服务器报告“No such file; File not found”。错误信息
  • 关闭这些流可以解决问题,现在可以删除文件。

很遗憾,SFTP 服务器错误消息在这种情况下没有多大帮助。有人可能会问,“拒绝访问”之类的内容是否更合适。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多