Administrator
2022-04-27 8e6f6217e52a635d1dfd4ccbb549b0427d3f9fa6
src/main/java/org/springblade/modules/FTP/FtpUtil.java
@@ -6,13 +6,14 @@
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.net.SocketException;
import java.util.Date;
import net.lingala.zip4j.core.ZipFile;
import static org.springblade.common.constant.FtpConstant.*;
import static org.springblade.common.constant.FtpConstant.ftpPath;
import static org.springblade.common.config.FtpConfig.*;
/**
 * ftp工具类
@@ -50,7 +51,7 @@
            logger.info("未连接到FTP,用户名或密码错误。");
            ftpClient.disconnect();
         } else {
            logger.info("FTP连接成功。");
//            logger.info("FTP连接成功。");
         }
      } catch (SocketException e) {
         e.printStackTrace();
@@ -294,6 +295,76 @@
   public static void sqlFileUpload(String s1){
      String json1 = JSON.toJSONString(s1);
      String response1 = String.valueOf((new Date()).getTime());
      OutJson.createJsonFile(json1, localPath, "nsql"+response1);
      FileInputStream in1 = null;
      try {
         in1 = new FileInputStream(new File(localPath + "nsql"+response1+".json"));
      } catch (FileNotFoundException e) {
         e.printStackTrace();
      }
      FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "nsql"+response1+".json", in1);
//      MysqlCenlint.deletess("nsql"+response1+".json");
   }
   /**
    *
    * 解压zip 包
    * @author panchaoyuan
    * @param srcFile    Unzipped file
    * @param destDirPath   Unzipped destination folder
    * @throws RuntimeException
    * @throws IOException
    */
   public static void unZip(MultipartFile srcFile, String destDirPath, String savePath) throws RuntimeException, IOException {
      File file = null;
      InputStream ins = srcFile.getInputStream();
      String savaPaths = savePath+srcFile.getOriginalFilename();
      file=new File(savaPaths);
      inputStreamToFile(ins, file);
      if (!file.exists()) {
         throw new RuntimeException(file.getPath() + ",file is not found");
      }
      ZipFile zipFile = null;
      try {
         zipFile = new ZipFile(file);
//         zipFile.setFileNameCharset("utf-8");
         zipFile.setFileNameCharset("gbk");
         //解压到 destDirPath
         zipFile.extractAll(destDirPath);
      }catch(Exception e) {
         throw new RuntimeException("unzip error from FileUtil", e);
      }
   }
   /**
    * 输入流转换为文件
    * @author panchaoyuan
    * @return
    */
   private static void inputStreamToFile(InputStream ins, File file) {
      try {
         OutputStream os = new FileOutputStream(file);
         int bytesRead = 0;
         byte[] buffer = new byte[8192];
         while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
            os.write(buffer, 0, bytesRead);
         }
         os.close();
         ins.close();
      }catch(Exception e) {
         e.printStackTrace();
      }
   }
   /**
    * 执行 对象数据(用户,报名对象信息等) 上传
    * @param obj 对象信息
    */
   public static void objectFileUpload(Object obj){
      String json1 = JSON.toJSONString(obj);
      String response1 = String.valueOf((new Date()).getTime());
      OutJson.createJsonFile(json1, localPath, "n"+response1);
      FileInputStream in1 = null;
      try {
@@ -301,7 +372,10 @@
      } catch (FileNotFoundException e) {
         e.printStackTrace();
      }
      FtpUtil.uploadFile(ftpHost_dev, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "n"+response1+".json", in1);
      FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "n"+response1+".json", in1);
//      MysqlCenlint.deletess("n"+response1+".json");
   }
}