c0343a706bebae7ea66ca445e47dae9790b2cbca
This commit
4a68979b89 always return the ReadResponse error after an upload
Broke the error return from Stor(). If you attempt to upload a file
with Stor() and the io.Reader that you passed in returns an error,
this was not returned by the Stor() command leading the user to think
the file was uploaded correctly.
This was detected by rclone's unit tests and the exact commit was
pinpointed with git commit.
This commit fixes it by returning the error from io.Copy or the error
from ReadResponse - the latter if they are both set.
Fixes #198
goftp
A FTP client package for Go
Install
go get -u github.com/jlaffaye/ftp
Documentation
https://pkg.go.dev/github.com/jlaffaye/ftp?tab=doc
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))
Description
Languages
Go
100%