Golang 发送文件到 FTP 服务器:简单易用方法
以下是一个使用 Go 语言发送文件到 FTP 服务器的示例代码,通过封装成一个方法,只需传入文件路径即可轻松实现文件上传。代码简洁易懂,并附带详细解释,方便快速上手。
package main
import (
"fmt"
"os"
"github.com/jlaffaye/ftp"
)
func sendFileToFTP(filePath string) error {
// FTP 服务器地址和端口号
ftpServer := 'ftp.example.com:21'
// FTP 服务器用户名和密码
ftpUser := 'username'
ftpPass := 'password'
// FTP 服务器上文件存储路径
ftpPath := '/path/to/ftp/folder/'
// 打开本地文件
file, err := os.Open(filePath)
if err != nil {
return fmt.Errorf('failed to open file: %v', err)
}
defer file.Close()
// 连接 FTP 服务器
ftpConn, err := ftp.Dial(ftpServer)
if err != nil {
return fmt.Errorf('failed to connect to FTP server: %v', err)
}
defer ftpConn.Quit()
// 登录 FTP 服务器
err = ftpConn.Login(ftpUser, ftpPass)
if err != nil {
return fmt.Errorf('failed to login to FTP server: %v', err)
}
// 切换到 FTP 服务器上的目标路径
err = ftpConn.ChangeDir(ftpPath)
if err != nil {
return fmt.Errorf('failed to change directory on FTP server: %v', err)
}
// 上传文件到 FTP 服务器
err = ftpConn.Stor(filepath.Base(filePath), file)
if err != nil {
return fmt.Errorf('failed to store file on FTP server: %v', err)
}
return nil
}
调用该方法时,只需要传入文件路径即可:
err := sendFileToFTP('/path/to/local/file.txt')
if err != nil {
fmt.Printf('failed to send file to FTP server: %v\n', err)
}
原文地址: https://www.cveoy.top/t/topic/otZH 著作权归作者所有。请勿转载和采集!