第一步:导入依赖
commons-net
commons-net
3.1
commons-io
commons-io
2.6
第二步:代码实现
public static int sendToFtp(String filePath, String ftpPath,String ftpIP,String username,String password){
FTPClient ftpClient = new FTPClient();
try {
//连接ftp服务器
//设置ip,如不设置端口,使用FTP默认端口21
ftpClient.connect(ftpIP);
//设置用户名,密码
ftpClient.login(username, password);
//切换到上传目录
//ftpClient.changeWorkingDirectory("gdpHugeFileDir/TemporaryTechnology");
ftpClient.changeWorkingDirectory(ftpPath);
//将连接模式设置为被动模式,被动模式下,ftp服务器提供数据传输的端口;主动模式下(ftpClient.enterLocalActiveMode();)由客户端提供数据传输端口
ftpClient.enterLocalPassiveMode();
//设置长传文件的类型为二进制类型(不设置可能导致图片乱码)
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
//ftpClient.getReplyCode()返回值:220 连接成功;230 登录成功;250 切换目录成功;221 退出ftp
if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
//关闭资源,规避内存泄漏
ftpClient.disconnect();
return -1;
} else {
try {
File file = new File(filePath);
FileInputStream is = new FileInputStream(file);
//关闭资源,规避内存泄漏
is.close();
ftpClient.disconnect();
return 1;
}catch (IOException e){
return -1;
}
}
} catch (Exception e) {
return -1;
}
}