niujiuru 38a24e892c 上传所有依赖的开源库模块 10 месяцев назад
..
LICENSE 38a24e892c 上传所有依赖的开源库模块 10 месяцев назад
README.md 38a24e892c 上传所有依赖的开源库模块 10 месяцев назад
debug.go 38a24e892c 上传所有依赖的开源库模块 10 месяцев назад
ftp.go 38a24e892c 上传所有依赖的开源库模块 10 месяцев назад
parse.go 38a24e892c 上传所有依赖的开源库模块 10 месяцев назад
scanner.go 38a24e892c 上传所有依赖的开源库模块 10 месяцев назад
status.go 38a24e892c 上传所有依赖的开源库模块 10 месяцев назад
walker.go 38a24e892c 上传所有依赖的开源库模块 10 месяцев назад

README.md

goftp

Units tests Coverage Status golangci-lint CodeQL Go ReportCard Go Reference

A FTP client package for Go

Install

go get -u github.com/jlaffaye/ftp

Documentation

https://pkg.go.dev/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))