【问题标题】:How do I copy file from windows to Pi board?如何将文件从 Windows 复制到 Pi 板?
【发布时间】:2017-12-27 08:47:33
【问题描述】:

我想通过 ssh 从 windows 复制一个文件到 Pi 板。

我正在使用 Windows 窗体构建一个 GUI。

来到 GUI 部分,我找到了 ssh.net 库,稍后我将使用它。但在此之前,我想了解它是如何工作的以及要使用什么 SCP 命令,作为第一步,我想看看 SCP 命令究竟是如何工作的。为此,我想通过 ssh 使用 windows 命令行将文件从 windows 复制到 Pi 板。现在我怎样才能做到这一点?程序是什么?我搜索了互联网,但我没有得到正确的信息。

注意:我知道我可以使用 Filezilla 客户端或 putty 来实现这一点,但我的座右铭是构建自己的 GUI。

我的 GUI 要求:首先,我想与 Pi 板建立连接,其次,我希望我的 GUI 浏览需要复制到 Pi 板上的文件,第三,我想在 GUI 中修复 Pi 目标文件夹本身(无法访问用户,后端我将目标文件夹固定为不可更改)第四,当用户单击下载按钮时,文件应下载到 Pi 板上的固定目标文件夹,并带有进度条指示器以完成文件传输 - 需要实现这一目标的建议?基本上,我希望用户使用我的 GUI 从窗口中选择一个特定文件,然后单击按钮文件应该下载到 Pi 板上。

【问题讨论】:

  • 为什么要使用SCP?使用 SFTP。如果可以连接 FileZilla,则设备支持 SFTP,因为 FileZilla 不支持 SCP。
  • 我不会使用 FileZilla,我正在使用自己的 GUI 进行文件传输,因为我只需在需要时从我的 PC 下载 1 个文件到 Pi 板的固定位置。
  • 我们理解这一点。我在问你为什么要使用 SCP?
  • 如果有其他方法,我很乐意听。 SSH.NET lib 用什么 SCP 命令来复制文件怎么样?
  • 是的,将 SFTP 与 SSH.NET 一起使用。我已经在我的第一条评论中写过了!

标签: c# ssh sftp windows-forms-designer scp


【解决方案1】:

不要使用 SCP,使用 SFTP。

使用 SSH.NET 的简单 SFTP 上传示例:

using (var client = new SftpClient(host, username, password))
{
    client.Connect();

    using (var fileStream = new FileStream(uploadFile, FileMode.Open))
    {
        client.UploadFile(fileStream, Path.GetFileName(uploadFile));
    }
}

有关其他选项/库,另请参阅:
How do I upload a file to an SFTP server in C# / .NET?

【讨论】:

  • 我对 SCP 和 SFTP 感到困惑,让我试试这个,如果它有效会更新你。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
  • 2015-04-17
  • 2021-07-15
  • 2017-06-11
  • 2017-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多