FTPFileUtil_FTP文件上传 (spring boot)

import com.sinosoft.survey.api.SurveyConstant;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

import java.io.IOException;
import java.io.InputStream;

public class FtpFileUtil {

/**
* FTP文件上传
* @param fileName 上传文件名称
* @param input
* @param ftpPath 上传路径 例:/upload/carInsuranceImage
* @return
*/
public static boolean uploadFile(String fileName,InputStream input,String ftpPath){
boolean success = false;
FTPClient ftp = new FTPClient();
ftp.setControlEncoding("GBK");
try {
int reply;
ftp.connect("127.0.0.1", "21");// 连接FTP服务器
ftp.login("ftp", "ftp");// 登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
boolean b = ftp.changeWorkingDirectory(ftpPath);//切换到上传路径 (路径是否存在)
if(!b){
String[] paths = ftpPath.substring(1).split("/");
StringBuffer sb = new StringBuffer();
for(String p : paths){
sb = sb.append("/"+p);
ftp.makeDirectory(sb.toString());//循环创建路径

}
ftp.changeWorkingDirectory(ftpPath);
}

 

ftp.storeFile(fileName,input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
}


service
public HashMap arriveScene( MultipartFile file, String orderNo, String registNo) throws IOException {
HashMap map = new HashMap();
Date date = new Date();
String originalFilename = file.getOriginalFilename();
int index = originalFilename.lastIndexOf(".");
String fileNameExt = originalFilename.substring(index+1);//文件扩展名
String fileName = registNo + "_"+ date.getTime()+ "." + fileNameExt;
InputStream inputStream=file.getInputStream();
Boolean flag=FtpFileUtil.uploadFile(fileName,inputStream,SurveyConstant.FTP_PATH_ARRIVESCENE);
if(flag==true){
map.put("msg","ok");
}else{
map.put("msg","error");
}
}

springboot
public HashMap arriveScene(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {
String orderNo = request.getParameter("orderNo"); //和文件一起提交的其他参数
return mapService.arriveScene(file, orderNo, registNo);
}

转载于:https://www.cnblogs.com/god-monk/p/9379410.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值