gpt4 book ai didi

c# - 使用 SharpSSH 从 SFTP 获取文件大小

转载 作者:行者123 更新时间:2023-11-30 22:03:28 38 4
gpt4 key购买 nike

我正在使用 SharpSSH 将一个 zip 文件从本地目录上传到 SFTP。一切正常。但是,我想获取我刚刚上传的当前文件的文件大小。我这样做的原因是 zip 文件很大(从 45 GB 到 80 GB),我想确保在上传过程中它没有失败或卡住。想要确保上传整个 zip。

我可以像这样获取本地 zip 文件的文件大小:

DirectoryInfo di = new DirectoryInfo(yesterdaysArchiveFolder);
FileInfo[] files = di.GetFiles();

foreach (FileInfo f in files)
{
Console.WriteLine("Size of the zip file: " + f.Length);
}

现在,我想在上传完成后对刚刚上传到 SFTP 的文件做同样的事情。

因为我知道我刚刚上传的文件的名称,所以我创建了一个 ArrayList 并将文件从 SFTP 放入。然后我使用 for 循环 来获取我刚刚上传的文件。

ArrayList FileList = oSftp.GetFileList(_ftpDirectory);
int count = FileList.Count;
Console.WriteLine("Files in SFTP: " + count);

for (int i = 0; i < FileList.Count; i++)
{
if (zipFileName == FileList[i].ToString())
{
Console.WriteLine(FileList[i]);
}
}

问题是没有像 .Length 这样的属性来获取该文件的文件大小?

我可以采用另一种方法来找出远程服务器中文件的文件大小吗?

最佳答案

SharpSSH 不允许这样做。但您可以对其进行编码,因为 SharpSSH 是开源的。

请参阅我对另一个 SharpSSH 问题的回答 Download file based on date modified from SFTP .


虽然 SharpSSH 是一个死项目,但您应该使用另一个 SFTP 库:

关于c# - 使用 SharpSSH 从 SFTP 获取文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26023293/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com