【发布时间】: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 连接/客户端)?