我在C#中使用Renci .Net以便使用SFTP将文件上传到Unix服务器(AIX),或者更确切地说,我使用SftpClient.UploadFile方法,如下所示:
using (Stream fileStream = sftp.OpenRead(file.FullName))
{
string remoteFileName = directory + @"/" + file.Name;
try
{
sftp.UploadFile(fileStream, remoteFileName, true);
}
//...
}
只要我的文件大小为1GB或更小,这都可以。只要我上传一个2GB的文件,该过程就会以1GB的传输数据停止。它永远不会碰到挡块,只是停下来。
这是Renci SSH.net中的已知问题吗?我该如何解决?
答案 0 :(得分:0)
我终于发现这不是Renci SSH.NET的限制,而是我试图连接的Unix-Server的设置。
我首先没有想到这个解决方案,因为使用Samba将更大的文件上传到该服务器。
显然,可以在该服务器上为不同的连接类型(Samba,sftp,ftp)设置不同的最大允许文件大小。与服务器管理员交谈后,允许的文件大小增加,使用Renci SSH.NET上传大文件现在可以正常工作。所以在我的情况下,罪魁祸首不是Renci,而是服务器配置。