From ad10456a4aee92128597f245c3b64ad2752cb64c Mon Sep 17 00:00:00 2001 From: dom Date: Sat, 18 Jul 2020 08:55:51 +0200 Subject: [PATCH] add ftpActions --- ftpActions.go | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 ftpActions.go diff --git a/ftpActions.go b/ftpActions.go new file mode 100644 index 0000000..f90f75c --- /dev/null +++ b/ftpActions.go @@ -0,0 +1,51 @@ +package paxan + +import ( + "io" + "os" + "time" + + "github.com/jlaffaye/ftp" +) + +func DownloadFTP(user string, password string, path string) error { + c, err := ftp.Dial("paxan-shop.de:21", ftp.DialWithTimeout(5*time.Second)) + if err != nil { + return err + } + + err = c.Login(user, password) + if err != nil { + return err + } + defer c.Quit() + + //c.ChangeDir("desiredDir") + + files, err := c.List("") + if err != nil { + return err + } + + for _, file := range files { + res, err := c.Retr(file.Name) + if err != nil { + return err + } + defer res.Close() + + outFile, err := os.Create(path.join(path, file.Name)) + if err != nil { + return err + } + defer outFile.Close() + + _, err = io.Copy(outFile, res) + if err != nil { + return err + } + + } + + return nil +}