我在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);
}
//...
}只要我的文件是1 1GB或更小的,这就行了。只要我上传一个2 1GB的文件,这个过程就会在传输的数据正好是1 1GB时停止。所以它不会命中catch块,它只是简单地停止。
这是Renci SSH.net中的一个已知问题吗?我怎么才能修复它?
发布于 2017-02-24 13:06:27
我最终意识到这不是Renci SSH.NET的限制,而是我试图连接的Unix服务器的设置。
我一开始并没有想到这个解决方案,因为使用Samba将更大的文件上传到该服务器是可行的。
显然,可以在该服务器上为不同的连接类型(Samba、sftp、ftp)设置不同的最大允许文件大小。在与服务器管理员交谈后,允许的文件大小增加了,现在可以使用Renci SSH.NET上传大文件了。因此,在我的例子中,罪魁祸首不是Renci,而是服务器配置。
https://stackoverflow.com/questions/42201320
复制相似问题