niujiuru 38a24e892c 上传所有依赖的开源库模块 10 months ago
..
LICENSE 38a24e892c 上传所有依赖的开源库模块 10 months ago
README.md 38a24e892c 上传所有依赖的开源库模块 10 months ago
debug.go 38a24e892c 上传所有依赖的开源库模块 10 months ago
ftp.go 38a24e892c 上传所有依赖的开源库模块 10 months ago
parse.go 38a24e892c 上传所有依赖的开源库模块 10 months ago
scanner.go 38a24e892c 上传所有依赖的开源库模块 10 months ago
status.go 38a24e892c 上传所有依赖的开源库模块 10 months ago
walker.go 38a24e892c 上传所有依赖的开源库模块 10 months ago

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))