| | |
| | | } |
| | | 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(); |
| | |
| | | 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(); |
| | |
| | | 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){ |
| | |
| | | } |
| | | } |
| | | }else{ |
| | | // System.out.println(srcName+":====================创建子目录======================"); |
| | | uploadDirectory(srcName, |
| | | tPath+File.separator); |
| | | } |
| | | // System.out.println(srcName+":====================上传完毕======================"); |
| | | } |
| | | return true; |
| | | } |