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 +}