我需要上传一个文件到SFTP服务器。我使用的是VB.NET 2008。
如何使用端口号、用户名和密码等将简单的.csv
文件从本地计算机上传到SFTP服务器?提前谢谢。
发布于 2018-02-01 15:01:02
SSH.NET是.NET常用的开源SFTP库。
有了它,您可以使用如下代码:
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
还有其他的库。如果你需要更多的高级功能,比如上传一个目录中的所有文件,甚至是完整的目录结构,你可能会发现我的WinSCP .NET assembly很有用。
使用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 can generate an upload code template,就像上面的那个,是给你的。
尽管WinSCP .NET程序集不是本机.NET库,但它只是控制台应用程序的.NET包装器。所以它有它自己的局限性。
https://stackoverflow.com/questions/48556236
复制相似问题