我需要将文件上传到 SFTP 服务器。我正在使用 VB.NET 2008。
怎样才能上传一个简单的.csv
使用端口号、用户名和密码等将文件从本地计算机传输到 SFTP 服务器?提前致谢。
.NET 常用的开源 SFTP 库是SSH.NET https://github.com/sshnet/SSH.NET.
有了它,您可以使用如下代码:
Dim client As SftpClient = New SftpClient("example.com", "username", "password")
client.Connect()
Using stream As Stream = File.OpenRead("C:\local\path\some.csv")
client.UploadFile(stream, "/remote/path/some.csv")
End Using
还有其他图书馆。如果您需要更多高级功能,例如上传目录中的所有文件甚至完整的目录结构,您可能会发现my WinSCP .NET 程序集 https://winscp.net/eng/docs/library useful.
使用 WinSCP,您可以使用如下代码来上传所有 .csv 文件:
Dim sessionOptions As New SessionOptions
With sessionOptions
.Protocol = Protocol.Sftp
.HostName = "example.com"
.UserName = "username"
.UserName = "password"
.SshHostKeyFingerprint = "ssh-rsa 2048 ..."
End With
Using session As New Session
session.Open(sessionOptions)
session.PutFiles("C:\local\path\*.csv", "/remote/path/*").Check()
End Using
WinSCP GUI可以生成上传代码模板 https://winscp.net/eng/docs/guide_automation#generating,就像上面那个一样,适合您。
不过,WinSCP .NET 程序集不是本机 .NET 库,它只是控制台应用程序的 .NET 包装器。所以它有其自身的局限性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)