| src/main/java/org/springblade/common/config/FtpConfig.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/FTP/FtpUtil.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/FTP/monitor.java | ●●●●● patch | view | raw | blame | history | |
| src/main/resources/application-dev.yml | ●●●●● patch | view | raw | blame | history | |
| src/main/resources/application-test.yml | ●●●●● patch | view | raw | blame | history | |
| src/main/resources/application.yml | ●●●●● patch | view | raw | blame | history |
src/main/java/org/springblade/common/config/FtpConfig.java
@@ -42,15 +42,21 @@ /** * ftp服务器路径 * ftp服务器基础路径 */ public static String ftpPath; public static String ftpBasePath; /** * ftp服务器文件路径 */ public static String ftpFilePath; /** * 本地路径 */ public static String localPath; /** * minio内网ip @@ -81,8 +87,12 @@ FtpConfig.ftpPassword = ftpPassword; } public void setFtpPath(String ftpPath) { FtpConfig.ftpPath = ftpPath; public void setFtpBasePath(String ftpBasePath) { FtpConfig.ftpBasePath = ftpBasePath; } public void setFtpFilePath(String ftpFilePath) { FtpConfig.ftpFilePath = ftpFilePath; } public void setLocalPath(String localPath) { src/main/java/org/springblade/modules/FTP/FtpUtil.java
@@ -147,10 +147,11 @@ if (!ftpClient.changeWorkingDirectory(basePath + filePath)) { // 如果目录不存在创建目录 String[] dirs = filePath.split("/"); String tempPath = basePath; String tempPath = ""; for (String dir : dirs) { if (null == dir || "".equals(dir)) if (null == dir || "".equals(dir)) { continue; } tempPath += "/" + dir; if (!ftpClient.changeWorkingDirectory(tempPath)) { if (!ftpClient.makeDirectory(tempPath)) { @@ -166,8 +167,10 @@ LOCAL_CHARSET = "UTF-8"; } ftpClient.setControlEncoding(LOCAL_CHARSET); ftpClient.enterLocalPassiveMode();// 设置被动模式 ftpClient.setFileType(FTP.BINARY_FILE_TYPE);// 设置传输的模式 // 设置被动模式 ftpClient.enterLocalPassiveMode(); // 设置传输的模式 ftpClient.setFileType(FTP.BINARY_FILE_TYPE); // 上传文件 filename = new String(filename.getBytes(LOCAL_CHARSET), SERVER_CHARSET); if (!ftpClient.storeFile(filename, input)) { @@ -301,7 +304,7 @@ } catch (FileNotFoundException e) { e.printStackTrace(); } FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/", "q"+response1+".json", in1); FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpBasePath, ftpFilePath, "q"+response1+".json", in1); MysqlCenlint.deletess("q"+response1+".json"); } @@ -319,7 +322,7 @@ } catch (FileNotFoundException e) { e.printStackTrace(); } FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/", "w"+response1+".json", in1); FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpBasePath, "/", "w"+response1+".json", in1); MysqlCenlint.deletess("w"+response1+".json"); } src/main/java/org/springblade/modules/FTP/monitor.java
@@ -6,10 +6,8 @@ import org.apache.commons.net.ftp.FTPReply; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; import java.io.InputStream; import static org.springblade.common.config.FtpConfig.*; @@ -20,69 +18,45 @@ public static boolean isFTPFileExist() { FTPClient ftp = new FTPClient(); String fileName = null; try { // 连接ftp服务器 // System.out.println("ftpHost = " + ftpHost); ftp.connect(ftpHost, ftpPort); // 登陆 ftp.login(ftpUserName, ftpPassword); // 检验登陆操作的返回码是否正确 if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) { ftp.disconnect(); return false; } ftp.enterLocalActiveMode(); // 设置文件类型为二进制,与ASCII有区别 ftp.setFileType(FTP.BINARY_FILE_TYPE); // 设置编码格式 ftp.setControlEncoding("GBK"); // 提取绝对地址的目录以及文件名 //ftpPath = ftpPath.replace("ftp://" + ftpHost + ":" + ftpPort + "/", ""); //String dir = ftpPath.substring(0, ftpPath.lastIndexOf("/")); // file = ftpPath.substring(ftpPath.lastIndexOf("/") + 1); // 进入文件所在目录,注意编码格式,以能够正确识别中文目录 //ftp.changeWorkingDirectory(new String(dir.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING)); // 检验文件是否存在 ftp.changeWorkingDirectory(ftpPath); // 切换到 ftpFilePath 文件目录 boolean directory = ftp.changeWorkingDirectory(ftpFilePath); FTPFile[] files = ftp.listFiles(); if (files.length==0){ return false; } else { for (FTPFile file : files){ String fileName = file.getName(); fileName = file.getName(); InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING)); String substring1 = fileName.substring(0, 1); if (substring1.equals("n")){ if (substring1.equals("q")){ //把文件下载到本地 FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName); // FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpFilePath, localPath, fileName); // 转换 String s = OutJson.TestJson(fileName); //sql语句 String sql = OutJson.stringReplace(s); String[] split = sql.split(";");//以逗号分割 if (!sql.isEmpty()) { //以逗号分割 String[] split = sql.split(";"); for (String sqls : split) { //判断是否是新增,删除,修改 String substring = sqls.substring(0, 2); @@ -100,80 +74,31 @@ MysqlCenlint.delete(sqls); } } } //删除本地文件 //MysqlCenlint.deletes(fileName); MysqlCenlint.deletess(fileName); FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, fileName); FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpFilePath, fileName); is.close(); ftp.completePendingCommand(); } } return true; } //InputStream is = ftp.retrieveFileStream(new String(file.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING)); // if (is == null || ftp.getReplyCode() == FTPReply.FILE_UNAVAILABLE) { // return false; // // } // // if (is != null) { // //把文件下载到本地 // FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName); // // // String s = OutJson.TestJson(); // //sql语句 // String sql = OutJson.stringReplace(s); // String[] split = sql.split(";");//以逗号分割 // for (String sqls : split) { // //判断是否是新增,删除,修改 // String substring = sqls.substring(0, 2); // //新增 // if (substring.equals("in")) { // //运行sql语句 // MysqlCenlint.inster(sqls); // } // //修改 // else if (substring.equals("up")) { // MysqlCenlint.update(sqls); // } // //删除 // else { // MysqlCenlint.delete(sqls); // } // } // //删除本地文件 // MysqlCenlint.delete(); // FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "nsql.json"); // is.close(); // ftp.completePendingCommand(); // // } } catch (Exception e) { System.out.println("ftp连接失败"); if (null!= fileName) { MysqlCenlint.deletess(fileName); FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpFilePath, fileName); } e.printStackTrace(); } finally { if (ftp != null) { try { ftp.disconnect(); } catch (IOException e) { e.printStackTrace(); } } } return false; } src/main/resources/application-dev.yml
@@ -54,7 +54,8 @@ ftpPort: 21 ftpUserName: zhbain ftpPassword: zhbain@123 ftpPath: yly/qfqk/ ftpBasePath: yly ftpFilePath: qfqk localPath: /home/zhongsong/qfqk/ ip: http://47.49.21.216:9000 jsonUrl: /home/zhongsong/qfqk/ src/main/resources/application-test.yml
@@ -54,10 +54,20 @@ ftpPort: 21 ftpUserName: arsn ftpPassword: 123456 ftpPath: anbao/ ftpBasePath: anbao ftpFilePath: qfqk localPath: D:\\anbao\\ ip: http://47.49.21.216:9000 jsonUrl: /home/zhongsong/qfqk/ jsonUrl: D:\\anbao\\ # ftpHost: 117.40.91.118 # ftpPort: 21 # ftpUserName: zhbain # ftpPassword: zhbain@123 # ftpBasePath: yly # ftpFilePath: qfqk # localPath: /home/zhongsong/qfqk/ # ip: http://47.49.21.216:9000 # jsonUrl: /home/zhongsong/qfqk/ #第三方登陆 social: src/main/resources/application.yml
@@ -196,6 +196,7 @@ skip-url: - /blade-test/** - /blade-user/import-users - /zc/** #授权认证配置 auth: - method: ALL