Renci SSH.NET: SftpClient.UploadFile 无法上传大于 1GB 的文件
Renci SSH.NET: SftpClient.UploadFile fails to upload files greater than 1GB in size
我在 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 吗?我该如何解决?
我终于明白这不是 Renci 的限制 SSH.NET,而是我尝试连接的 Unix-Server 的设置。
我一开始并没有想到该解决方案,因为使用 Samba 将更大的文件上传到该服务器是可行的。
显然,可以在该服务器上为不同的连接类型(Samba、sftp、ftp)设置不同的最大允许文件大小。在与服务器管理员交谈后,允许的文件大小增加了,现在可以使用 Renci SSH.NET 上传大文件了。所以在我的例子中,罪魁祸首不是 Renci,而是服务器配置。
我在 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 吗?我该如何解决?
我终于明白这不是 Renci 的限制 SSH.NET,而是我尝试连接的 Unix-Server 的设置。
我一开始并没有想到该解决方案,因为使用 Samba 将更大的文件上传到该服务器是可行的。
显然,可以在该服务器上为不同的连接类型(Samba、sftp、ftp)设置不同的最大允许文件大小。在与服务器管理员交谈后,允许的文件大小增加了,现在可以使用 Renci SSH.NET 上传大文件了。所以在我的例子中,罪魁祸首不是 Renci,而是服务器配置。