本文整理匯總了Golang中github.com/dutchcoders/goftp.FTP.List方法的典型用法代碼示例。如果您正苦於以下問題:Golang FTP.List方法的具體用法?Golang FTP.List怎麽用?Golang FTP.List使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/dutchcoders/goftp.FTP
的用法示例。
在下文中一共展示了FTP.List方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: GetFolders
func GetFolders(ftp *goftp.FTP, path string) []string {
var err error
var filesAndFolders []string
if filesAndFolders, err = ftp.List(path); err != nil {
panic(err)
}
var folders = make([]string, 0)
for i := 0; i < len(filesAndFolders); i++ {
var file string = filesAndFolders[i]
if strings.ContainsAny(file, "type=dir") {
folders = append(folders, file)
}
}
return folders
}
示例2: downloadDirectory
func downloadDirectory(directory string, ftp *goftp.FTP) {
var files []string
var err error
if files, err = ftp.List(""); err != nil {
panic(err)
}
directory = strings.Replace(directory, "\r\n", "", -1)
for f := range files {
filename := strings.Split(files[f], "; ")
newPath := directory + "/" + filename[1]
if !strings.Contains(filename[0], "type=dir;") {
downloadFile(newPath, ftp)
} else {
ftp.Cwd(newPath)
downloadDirectory(newPath, ftp)
}
}
}
示例3: main
func main() {
var err error
var ftp *goftp.FTP
// For debug messages: goftp.ConnectDbg("ftp.server.com:21")
if ftp, err = goftp.Connect("172.8.4.101:21"); err != nil {
panic(err)
}
defer ftp.Close()
// config := tls.Config{
// InsecureSkipVerify: true,
// ClientAuth: tls.RequestClientCert,
// }
//
// if err = ftp.AuthTLS(config); err != nil {
// panic(err)
// }
if err = ftp.Login("bob", "[email protected]"); err != nil {
panic(err)
}
if err = ftp.Cwd("/home/bob"); err != nil {
panic(err)
}
var curpath string
if curpath, err = ftp.Pwd(); err != nil {
panic(err)
}
fmt.Printf("Current path: %s\n", curpath)
var files []string
if files, err = ftp.List(""); err != nil {
panic(err)
}
fmt.Println(files)
// var file *os.File
// if file, err = os.Open("/tmp/test.txt"); err != nil {
// panic(err)
// }
//
// if err := ftp.Stor("/test.txt", file); err != nil {
// panic(err)
// }
err = ftp.Walk("/home/bob", func(path string, info os.FileMode, err error) error {
_, err = ftp.Retr(path, func(r io.Reader) error {
var hasher = sha256.New()
if _, err = io.Copy(hasher, r); err != nil {
return err
}
hash := fmt.Sprintf("%s %x", path, sha256.Sum256(nil))
fmt.Println(hash)
return err
})
return nil
})
fmt.Println(err)
}