【问题标题】:SFTP uploaded file deleted automatically from a serverSFTP 上传的文件自动从服务器中删除
【发布时间】:2023-03-12 07:39:01
【问题描述】:

我正在尝试使用 SSH.NET 从服务器上传文件并成功上传,但是当 sftp 客户端断开连接时,文件会自动从 SFTP 服务器中删除。 我正在使用以下代码

    public void Upload(string filePath)
    {
        try
        {

            using (var client = new SftpClient(host, port, username, password))
            {
                client.Connect();

                client.ChangeDirectory(workingdirectory);

                using (var fileStream = new FileStream(uploadfile, FileMode.Open))
                {
                    client.BufferSize = 4 * 1024;
                    client.UploadFile(fileStream, Path.GetFileName(uploadfile));
                }                  
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

【问题讨论】:

  • 你确定吗?有服务接他们吗?
  • 没有选择文件的服务。当我手动将文件移动到 FTP 服务器时,它仍然存在,当我使用 C# 代码上传文件时,它在 sftp 客户端断开连接后被删除。
  • 要寻找/尝试的事情:1) 您是否 100% 肯定您正在使用相同的主机、端口、用户名和密码? 2) 我猜这是 SSH.NET,所以在上传后尝试添加 client.Disconnect()。 3)尝试在同一连接上下载文件(在结束using块之前)
  • 那么,在上传时,你能在远程目录中看到文件吗(使用单独的 SFTP 连接/客户端)?

标签: c# ssh sftp


【解决方案1】:

上传可能不完整,并在您关闭连接后被删除。不知道您正在使用的库,但可能缺少 Flush() 调用?

C.

[随意删除,不能发cmets]

【讨论】:

    猜你喜欢
    • 2013-11-17
    • 2015-04-06
    • 2021-06-05
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 2011-10-19
    相关资源
    最近更新 更多