56 lines
1.2 KiB
Markdown
56 lines
1.2 KiB
Markdown
# goftp #
|
|
|
|
[](https://travis-ci.org/jlaffaye/ftp)
|
|
[](https://coveralls.io/github/jlaffaye/ftp?branch=master)
|
|
[](http://goreportcard.com/report/jlaffaye/ftp)
|
|
[](http://godoc.org/github.com/jlaffaye/ftp)
|
|
|
|
A FTP client package for Go
|
|
|
|
## Install ##
|
|
|
|
```
|
|
go get -u github.com/jlaffaye/ftp
|
|
```
|
|
|
|
## Example ##
|
|
|
|
```go
|
|
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 ##
|
|
|
|
```go
|
|
data := bytes.NewBufferString("Hello World")
|
|
err = c.Stor("test-file.txt", data)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
```
|
|
|
|
## Read a file example ##
|
|
|
|
```go
|
|
r, err := c.Retr("test-file.txt")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
buf, err := ioutil.ReadAll(r)
|
|
println(string(buf))
|
|
```
|