jiangping
2023-12-15 e2b0e215d7f208a8f40aadb5ff05cd0f3088f0d9
server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java
@@ -233,6 +233,39 @@
      }
      return result;
   }
   public boolean uploadInputstream(InputStream inputStream, String remote)  {
      // 设置PassiveMode传输
      try {
         ftpClient.enterLocalPassiveMode();
         // 设置以二进制流的方式传输
         ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
         ftpClient.setControlEncoding("GBK");
         // 对远程目录的处理
         String remoteFileName = remote;
         if (remote.contains(File.separator)) {
            remoteFileName = remote.substring(remote.lastIndexOf(File.separator) + 1);
            // 创建服务器远程目录结构,创建失败直接返回
            if (StringUtils.equals(CreateDirecroty(remote, ftpClient), "2")) {
               log.error("创建ftp目录失败======================="+remote);
               return false;
            }
         }
         boolean result = ftpClient.storeFile(remoteFileName, inputStream);
         inputStream.close();
         ftpClient.logout();
         if(result){
            log.info("上传文件成功======================"+remote);
         }else{
            log.error("上传文件失败======================="+remote);
         }
         return result;
      }catch (Exception e){
         e.printStackTrace();
         log.error("上传文件失败======================="+remote);
      }
      return false;
   }
   public int getNumFromStr(String str,char searchstr) {
      int count = 0;
      char[] charArray = str.toCharArray();
@@ -599,8 +632,6 @@
      File src = new File(localDirectory);
      try {
         remoteDirectoryPath =  remoteDirectoryPath  + File.separator;
//         System.out.println(remoteDirectoryPath+":===============创建目录=================");
         boolean makeDirFlag = this.ftpClient.makeDirectory(remoteDirectoryPath);
      }catch (IOException e) {
         e.printStackTrace();
@@ -611,11 +642,9 @@
      for (int currentFile = 0;currentFile < allFile.length;currentFile++) {
         File f =allFile[currentFile];
         String srcName=   f.getPath().toString();
//         System.out.println(srcName+":====================读取文件======================");
         String tPath = remoteDirectoryPath+f.getName();
         if (!f.isDirectory()) {
//            System.out.println(srcName+":====================开始传输文件======================");
            int dNum = getNumFromStr(tPath,File.separator.toCharArray()[0]);
            uploadFile(f, tPath);
            if(dNum -2>=0){
@@ -624,11 +653,9 @@
               }
            }
         }else{
//            System.out.println(srcName+":====================创建子目录======================");
            uploadDirectory(srcName,
                  tPath+File.separator);
         }
//         System.out.println(srcName+":====================上传完毕======================");
      }
      return true;
   }