Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 특수문자 치환
- Stack
- architecture
- 만들면서 배우는 클린 아키텍처
- 제이쿼리
- catalina.out
- Java
- redis + spring boot 함께
- jQuery
- 자바
- mysql
- select
- insert
- aws elasticache 활용
- Linux
- for문
- 자바스크립트
- javascript
- js
- Tomcat
- 톰캣
- 정규식
- 엔티티 코드 치환
- Entity Code 치환
- 리눅스
- sftp
- springboot+redis
- 초단위
- Docker Compose
- docker 컨테이너로 띄우기
Archives
- Today
- Total
꾸준하게, 차근차근
[Java] SFTP 파일 전송(업로드) 구현(JSch 사용) 본문
1. SFTP 전송시 필요한 정보
- User Ip
- User Port
- User Id
- User Password
- Upload Path
2. sendSFTP 메소드 구현
public void sendSftp(HashMap<String, Object> map) {
try {
String originFileName = (String) map.get("fileName");
String zipFileName = originFileName.substring(0, originFileName.lastIndexOf(".")) + ".zip";
String sftpIp = configService.getConfigValue("IP");
int sftpPort = Integer.parseInt(configService.getConfigValue("PORT"));
String sftpUserId = configService.getConfigValue("USER_ID");
String sftpUserPw = configService.getConfigValue("USER_PW");
String sftpFilePath = configService.getConfigValue("UPLOAD_PATH");
Session session = null;
JSch jsch = new JSch();
session = jsch.getSession(sftpUserId, sftpIp, sftpPort);
session.setPassword(sftpUserPw);
java.util.Properties config = new java.util.Properties();
// ssh_config에 호스트 key 없이 접속 가능토록 property 설정
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
ChannelSftp channelSftp = null;
Channel channel = null;
FileInputStream in = null;
try {
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp) channel;
File file = new File(uploadPath, zipFileName);
in = new FileInputStream(file);
channelSftp.cd(sftpFilePath);
channelSftp.put(in, file.getName());
// Zip파일 RNAME 처리
File newZipFile = new File(uploadPath, zipFileName+".back");
file.renameTo(newZipFile);
// 원본파일 RNAME 처리
File originFile = new File(uploadPath, originFileName);
File newOriginFile = new File(uploadPath, originFileName+".back");
originFile.renameTo(newOriginFile);
} catch( Exception e ) {
e.printStackTrace();
} finally {
in.close();
channelSftp.exit();
channel.disconnect();
session.disconnect();
}
} catch( Exception e ) {
e.printStackTrace();
}
}
🙏 참조 ::
'Java' 카테고리의 다른 글
[Java] Map To List (0) | 2022.04.26 |
---|---|
[Java] List<Integer> To int[] (0) | 2022.04.26 |
[Java] 파일 Zip파일로 압축하여 업로드(암호설정) 구현(zip4j 사용) (0) | 2022.04.26 |
[Java] 배열 내 요소 중복여부 체크 (0) | 2022.04.26 |
[Java] 배열에 특정 값 존재(포함)여부 체크 (0) | 2022.03.19 |