1 回答
TA贡献1816条经验 获得超6个赞
您可以使用sftp 包中的Open(path string)和WriteTo(w io.Writer)方法(当然您需要一个 os.File 或类似的东西来写入)。
client, err := ssh.Dial("tcp", "192.x.x.x:22", sshConfig)
if err != nil {
panic("Failed to dial: " + err.Error())
}
fmt.Println("Successfully connected to ssh server.")
// open an SFTP session over an existing ssh connection.
sftp, err := sftp.NewClient(client)
if err != nil {
log.Fatal(err)
}
defer sftp.Close()
srcPath := "/tmp/"
dstPath := "C:/temp/"
filename := "test.txt"
// Open the source file
srcFile, err := sftp.Open(srcPath + filename)
if err != nil {
log.Fatal(err)
}
defer srcFile.Close()
// Create the destination file
dstFile, err := os.Create(dstPath + filename)
if err != nil {
log.Fatal(err)
}
defer dstFile.Close()
// Copy the file
srcFile.WriteTo(dstFile)
- 1 回答
- 0 关注
- 481 浏览
添加回答
举报