rclone/vendor/github.com/jlaffaye/ftp
2020-06-16 09:13:50 +01:00
..
.travis.yml vendor: update all dependencies 2019-11-14 21:51:34 +00:00
debug.go vendor: update github.com/jlaffaye/ftp 2019-06-09 16:06:39 +01:00
ftp.go vendor: update jlaffaye/ftp 2020-06-16 09:13:50 +01:00
go.mod vendor: update all dependencies 2019-11-14 21:51:34 +00:00
go.sum vendor: update all dependencies 2019-11-14 21:51:34 +00:00
LICENSE Vendor github.com/jlaffaye/ftp for ftp backend 2017-05-18 20:49:36 +01:00
parse.go vendor: update github.com/jlaffaye/ftp 2019-06-26 16:42:12 +01:00
README.md vendor: update jlaffaye/ftp 2020-06-16 09:13:50 +01:00
scanner.go Vendor github.com/jlaffaye/ftp for ftp backend 2017-05-18 20:49:36 +01:00
status.go vendor: update jlaffaye/ftp 2020-06-16 09:13:50 +01:00
walker.go vendor: update jlaffaye/ftp 2020-06-16 09:13:50 +01:00

goftp

Build Status Coverage Status Go ReportCard godoc.org

A FTP client package for Go

Install

go get -u github.com/jlaffaye/ftp

Example

c, err := ftp.Dial("ftp.example.org:21", ftp.DialWithTimeout(5*time.Second))
if err != nil {
    log.Fatal(err)
}

err = c.Login("anonymous", "anonymous")
if err != nil {
    log.Fatal(err)
}

// Do something with the FTP conn

if err := c.Quit(); err != nil {
    log.Fatal(err)
}

Store a file example

data := bytes.NewBufferString("Hello World")
err = c.Stor("test-file.txt", data)
if err != nil {
	panic(err)
}

Read a file example

r, err := c.Retr("test-file.txt")
if err != nil {
	panic(err)
}
defer r.Close()

buf, err := ioutil.ReadAll(r)
println(string(buf))