上传图片到FTP

package demo.ftp;


import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class FTPClientExample {
    private static final String HOST = "*****"; // FTP 服务器地址
    private static final String USERNAME = "**********"; // FTP 用户名
    private static final String PASSWORD = "***********"; // FTP 密码

    public static void main(String[] args) {
        File file = new File("C:\\Users\\LYL\\Pictures\\Camera Roll\\u=3395582942,4228440123&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto.jpg"); // 需要上传的文件
        String remoteDirPath = "/images/o2o/mili"; // 远程FTP路径,即文件上传到FTP服务器中的目录,可以为空
        String remoteFileName = "image111123.jpg"; // 远程FTP文件名

        try {
            FTPClient ftpClient = new FTPClient(); // 创建 FTP 客户端
            ftpClient.connect(HOST); // 连接 FTP 服务器
            int reply = ftpClient.getReplyCode();
            if (!FTPReply.isPositiveCompletion(reply)) { // 判断连接是否成功
                ftpClient.disconnect();
                System.out.println("FTP 服务器拒绝连接!");
                return;
            }

            boolean login = ftpClient.login(USERNAME, PASSWORD);// 登录 FTP 服务器
            System.out.println("登录:"+login);
            ftpClient.enterLocalPassiveMode(); // 进入被动模式
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE); // 设置传输文件类型为二进制文件

            if (!remoteDirPath.isEmpty()) { // 如果远程FTP目录不为空
                ftpClient.makeDirectory(remoteDirPath); // 在远程FTP服务器上创建目录
                ftpClient.changeWorkingDirectory(remoteDirPath); // 切换到当前目录
            }

            FileInputStream fis = new FileInputStream(file); // 创建文件输入流
            BufferedInputStream bis = new BufferedInputStream(fis); // 创建缓冲输入流
            boolean b = ftpClient.storeFile(remoteFileName, bis);// 上传文件到FTP服务器
            System.out.println("是否上传成功:"+b);
            bis.close(); // 关闭输入流
            fis.close(); // 关闭输入流
            ftpClient.logout(); // 登出FTP服务器
            ftpClient.disconnect(); // 断开连接

            System.out.println("文件上传成功!");
        } catch (IOException e) {
            System.out.println("文件上传失败!异常信息:" + e.getMessage());
        }
    }
}

maven依赖

<dependency>
  <groupId>commons-net</groupId>
  <artifactId>commons-net</artifactId>
  <version>3.8.0</version>
</dependency>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值