Skip to content

rclone/ftp

This branch is 5 commits ahead of, 92 commits behind jlaffaye/ftp:master.

Folders and files

NameName
Last commit message
Last commit date
Mar 9, 2020
Oct 19, 2019
Feb 17, 2013
Mar 5, 2021
Aug 19, 2021
Aug 19, 2021
Aug 21, 2021
Sep 2, 2021
Mar 7, 2022
Jul 8, 2020
Mar 7, 2021
Mar 7, 2021
Mar 4, 2017
Mar 7, 2021
Jul 8, 2020
Jul 8, 2020
Mar 5, 2021
Oct 21, 2020

Repository files navigation

goftp

Build Status Coverage Status 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))