From e2b0e215d7f208a8f40aadb5ff05cd0f3088f0d9 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 15 十二月 2023 09:09:35 +0800 Subject: [PATCH] 海康接口对接开发 --- server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java | 39 +++++++++++++++++++++++++++++++++------ 1 files changed, 33 insertions(+), 6 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java index f158543..9e2a26a 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java +++ b/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; } -- Gitblit v1.9.3