使用 SharpSSH 从 SFTP 获取文件大小

2024-01-02

我正在使用 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 loop获取我刚刚上传的文件。

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 问题的回答根据 SFTP 修改日期下载文件 https://stackoverflow.com/q/25543826/850848.


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

  • SSH.NET https://github.com/sshnet/SSH.NET有方法SftpClient.ListDirectory返回IEnumerable<SftpFile>. The SftpFile.Length财产;

  • WinSCP .NET 程序集 https://winscp.net/eng/docs/library有方法Session.ListDirectory https://winscp.net/eng/docs/library_session_listdirectory返回(通过RemoteDirectoryInfo.Files)的集合RemoteFileInfo https://winscp.net/eng/docs/library_remotefileinfo与财产.Length.
    (我是WinSCP .NET程序集的作者)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SharpSSH 从 SFTP 获取文件大小 的相关文章

随机推荐

  • 如何让 Visual Studio 始终重新加载更改的解决方案、项目和文件?

    我使用多台机器来分析和运行一个解决方案 并通过 DropBox 完成数据同步 太棒了 顺便说一句 不幸的是 一台机器的更改会导致所有其他机器的 VS 实例询问我是否要重新加载 这很烦人 因为答案总是Yes 所以我的问题是 我可以让 VS 假
  • 在 Visual Studio 2005 中重用对象文件

    情况是这样的 我有一个包含两个项目的 VS2005 解决方案 MyDll DLL MyDllUnitTest 控制台 EXE 在 MyDll 中 我有一个名为 MyClass 的类 该类位于 DLL 内部 不应导出 我想在 MyDllUni
  • 如何在 Flutter 中使用 Streams 更新时间?

    我一直在研究流的使用 因为我认为这将是我的应用程序的最佳解决方案 我希望能够以特定的时间间隔检查时间 然后根据太阳是否升起或落下自动更改地图的主题 我有主题和太阳代码 但我需要将它们连接在一起 这是我到目前为止的代码 如果我对控制器和订阅使
  • 应用内结算连接到 Firebase 并获取产品

    I m starting to create an APP where I can buy items from it Could be like this where you can see an Image Name of produc
  • 本地字符串文字的内存分配?

    我知道当我们创建字符串文字时 它会进入永久空间 我的问题是 即使该字符串文字对于方法来说是本地的 它是否会在 jvm 的生命周期内一直存在 例如我有下面的代码片段 private static void testString1 String
  • ColdFusion:使用 UTC 创建日期时间

    我正在尝试使用 UTC 时间 以便用户可以获得 UTC 时间 而不是服务器时间 我目前正在用这个设置时间 这有效
  • 如何使用 JPA Criteria 查询编写此查询?

    任何人都可以帮我获取下面提到的 JPA 查询的 JPA 标准查询 SELECT p l FROM Person p LEFT JOIN Language l ON p language l language and l locale lik
  • 如何使 2.7 python 上下文管理器线程安全

    我有一个在 Django 服务上运行的大型 python 应用程序 我需要关闭某些操作的权限测试 因此我创建了这个上下文管理器 class OverrideTests object def init self self override 0
  • 以编程方式获取最新的 python 3 版本

    我想从这里获取最新的Python源代码https www python org ftp python https www python org ftp python 发布此内容时 最新版本是 3 9 1 我不想在代码中硬编码 3 9 1 以
  • 使用框大小调整添加边框时防止高度变化

    我无法找到描述此问题的内容 但如果我丢失了它 请告诉我 下面是一个demo 在IE11和Chrome中测试 完美地展示了问题 本质上 我试图向元素添加边框 并保持大小相同 它对于宽度来说工作得很好 但是对于高度来说 它只容纳了一半 所以我有
  • Dataproc 虚拟机内存和本地磁盘使用指标

    我正在尝试使用云指标监控 Dataproc 2 0 上的本地磁盘使用情况 百分比 这对于监控 Spark 临时文件填满磁盘的情况非常有用 默认情况下 Dataproc 似乎仅发送本地磁盘性能指标 CPU 等指标和集群级别 HDFS 指标 但
  • 列出可用的捕获格式

    作为 V4L 的新手 我决定开始使用 video4linux2 库 以便用 C 语言从我的相机捕获帧 我正在将 uvcvideo 模块与 Ricoh Co 相机一起使用 我遵循了一些指南和教程 并设法获得了一个正在运行的程序 我的问题主要是
  • 在 JavaScript 中从字符串中解析 Int

    在 javascript 中 从以字母开头的字符串 例如 test 123 解析 INT 的最佳方法是什么 我需要一些适用于下面的示例的东西 My JS document ready function input change functi
  • 如何从wpf中的另一个数据模板访问数据?

    我有 2 个数据模板 第一个包含网格 第二个包含按钮 我需要将按钮的命令参数作为选定的网格项发送 我怎样才能做到这一点
  • 是否可以同时接收2个类中的UITapGestureRecognizer调用

    当用户单击屏幕时 我想在两个类 超级视图和全屏子视图 中调用操作 但是 当我向子视图添加 UITapGestureRecognizer 时 添加到超级视图的 UITapGestureRecognizer 将被覆盖 是否可以将 UITapGe
  • 如何修复:mysql:[错误]在配置文件/etc/mysql/my.cnf中找到没有前面组的选项?

    当我尝试访问 mysql 时 出现以下错误 mysql 错误 在配置文件 etc mysql my cnf 第 22 行找到没有前面组的选项 mysql 错误 默认处理中出现致命错误 计划中止 etc mysql my cnf The My
  • 从自定义信息窗口打开 URL,Android Google 地图 V2

    我正在使用 android google 地图 api v2 上面显示了许多标记 每次单击标记时 都会打开带有特定标题 片段的自定义信息窗口 问题是我无法点击 URL www news com 请在下面找到我的标记的选项 如何指定 www
  • 将值添加到 R 中表的条形图中

    我正在尝试用条形图绘制表格并向其添加值 tt structure c 7L 13L 24L 30L 30L 38L 35L 45L 37L 43L 38L 59L 33L 45L 37L 58L Dim c 2L 8L Dimnames s
  • bootstrap 4 中的 popper.js 给出 SyntaxError 意外的令牌导出

    我尝试安装 bootstrap 4 并包含以下链接 但出现以下错误 未捕获的语法错误 意外的令牌导出 有什么想法如何修复它吗 我也刚得到这个 并弄清楚为什么会发生这种情况 如果其他人经过这里 检查 readme md 用法
  • 使用 SharpSSH 从 SFTP 获取文件大小

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