以下是一个使用 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)
}
Golang 发送文件到 FTP 服务器:简单易用方法

原文地址: https://www.cveoy.top/t/topic/otZH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录