获取SFTP服务器的硬盘大小

时间:2014-07-09 11:34:25

标签: sftp diskspace ssh.net

我使用Renci.SshNet(SSH.NET)库在SFTP服务器上上传文件。在上传文件之前,我想检查可用硬盘的大小。我正在使用此代码。

ssf = New SftpClient("ip", "port", "user", "password")
ssf.Connect()

Dim fpath As String = "/"

Dim res = ssf.GetStatus(fpath)

我获得了完整,免费且可用的节点和块。但是无法通过这种方法找到可用的硬盘。或者还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

使用SftpFileSytemInformation.BlockSize字段将块转换为字节。

E.g。

freeBytes = res.FreeBlocks * res.BlockSize

请参阅http://www.nudoq.org/#!/Packages/SSH.NET/Renci.SshNet/SftpFileSytemInformation

另见扩展请求“statvfs@openssh.com”和“fstatvfs@openssh.com”部分:
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL?rev=HEAD