1. 先添加pom文件
使用gradle :
compile group: 'commons-net', name: 'commons-net', version: "3.6"
2. 在application.yml中配置参数:
ftp.host: localhost
ftp.port: 210
ftp.username: ftp01
ftp.password: abc
ftp.filepath: /
3. 实现代码:
import org.apache.commons.net.ftp.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.io.InputStream;
import java.util.Calendar;
import java.util.Date;
/**
* 类说明:文件上传下载工具类
*
*/
@Component
public class FtpOperation{
public static final int imageCutSize=300;
private static final Logger log= LoggerFactory.getLogger(FtpOperation.class);
@Value("${ftp.username}")
private String userName;
@Value("${ftp.password}")
private String passWord;
@Value("${ftp.host}")
private String ip;
@Value("${ftp.port}")
private int port;
@Value("${ftp.filepath}")
private String CURRENT_DIR; // 文件存放的目录
public static final String DIRSPLIT="/";
public String getCURRENT_DIR() {
return CURRENT_DIR;
}
public void setCURRENT_DIR(String cURRENTDIR) {
CURRENT_DIR = cURRENTDIR;
}
// 下载的文件目录
private String DOWNLOAD_DIR;
// ftp客户端
private FTPClient ftpClient = new FTPClient();
/**
*
* 功能:上传文件附件到文件服务器
* @param buffIn:上传文件流
* @param fileName:保存文件名称
* @param needDelete:是否同时删除
* @return
* @throws IOException
*/
public boolean uploadToFtp(InputStream buffIn, String fileName,boolean needDelete)
throws