您的位置:首页 > 编程语言 > Go语言

golang ftp客户端示例 支持断点续传

2015-10-29 18:00 986 查看
package main

import (
ftp4go "github.com/shenshouer/ftp4go"
"fmt"
"os"
)

var(
downloadFileName    = "DockerToolbox-1.8.2a.pkg"
BASE_FTP_PATH       = "/home/bob/"                  // base data path in ftp server
)

func main() {
ftpClient := ftp4go.NewFTP(0) // 1 for debugging

//connect
_, err := ftpClient.Connect("172.8.4.101", ftp4go.DefaultFtpPort, "")
if err != nil {
fmt.Println("The connection failed")
os.Exit(1)
}
defer ftpClient.Quit()

_, err = ftpClient.Login("bob", "p@ssw0rd", "")
if err != nil {
fmt.Println("The login failed")
os.Exit(1)
}

//Print the current working directory
var cwd string
cwd, err = ftpClient.Pwd()
if err != nil {
fmt.Println("The Pwd command failed")
os.Exit(1)
}
fmt.Println("The current folder is", cwd)

// get the remote file size
size, err := ftpClient.Size("/home/bob/"+downloadFileName)
if err != nil {
fmt.Println("The Pwd command failed")
os.Exit(1)
}
fmt.Println("size ", size)

// start resume file download
if err = ftpClient.DownloadResumeFile("/home/bob/"+downloadFileName, "/Users/goyoo/ftptest/"+downloadFileName, false); err != nil{
panic(err)
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: