zoukankan      html  css  js  c++  java
  • 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);
    }

  • 相关阅读:
    找回Android studio的帮助文档
    adb shell 命令详解
    Android 获取Activity当前view
    下载网络文件HttpURLConnection.getContentLength()大小为 0
    Android设置屏幕旋转后保存数据
    解决TextView drawableRight左侧图片大小不可控的问题
    Android全屏(包含3种隐藏顶部状态栏及标题栏和一种隐藏Android 4.0平板底部状态栏的方法)
    人生苦短,我用Python(目录)
    爬虫学习目录
    Django-jet自定义菜单
  • 原文地址:https://www.cnblogs.com/god-monk/p/9379410.html
Copyright © 2011-2022 走看看