❗ sftp는 접속 불가
👀 cdn 서버로 이미지 및 컨텐츠 파일 전송
- jsp
<body>
<form method="post" id="frm" action="./cdn_uploadok.do" enctype="multipart/form-data">
<input type="hidden" name="url" value="172.30.1.16">
<input type="file" name="mfile">
<input type="button" value="CDN 전송" onclick="file_ok()">
</form>
</body>
<script>
function file_ok(){
frm.submit();
}
</script>
- Controller
//cdn 서버로 이미지 및 컨텐츠 파일 전송 메소드
@PostMapping("/cdn_uploadok.do")
public String cdn_uploadok(ServletResponse res,Model m,
@RequestParam(defaultValue="",required=false) String url,
MultipartFile mfile) {
res.setContentType("text/html;charset=utf-8");
FTPClient ftp = new FTPClient(); //FTP 접속 클라이언트 객체 생성
ftp.setControlEncoding("utf-8"); //한글파일 깨짐 방지
FTPClientConfig fc = new FTPClientConfig(); //FTP 접속 환경설정
try {
String filename = mfile.getOriginalFilename(); //업로드 파일명
String host = url; //FTP 호스트
String user = "admin"; //FTP 접속 아이디
String pw = "123123"; //FTP 접속 패스워드
int port = 20021; //FTP 접속 포트번호
ftp.configure(fc); //접속 환경을 새롭게 setting
ftp.connect(host,port); //FTP 서버에 접속
if(ftp.login(user, pw)) { //FTP 사용자에 맞게 접속 환경을 설정
//file이 binary가 아니고 text(ascii)면 에러남
//ftp.setFileType(FTP.ASCII_FILE_TYPE); //ascii 경우 (txt,html,css,css...)
ftp.setFileType(FTP.BINARY_FILE_TYPE); //이미지 , 동영상, PDF, XLS..
int result = ftp.getReplyCode(); //CDN서버에서 파일 업로드 지현형태 발생
System.out.println("지연코드 :" + result);
//FTP의 해당 디렉토리에 파일을 Stream 형태로 업로드
boolean ok = ftp.storeFile("/home/admin/내가만든폴더명/"+filename, mfile.getInputStream());
if(ok == true) {
System.out.println("정상적으로 cdn 서버로 파일 업로드 완료했습니다.");
}else {
System.out.println("CDN 파일 업로드 실패");
}
}else {
System.out.println("FTP ID 및 패스워드 오류 발생!");
}
}catch(Exception e) {
System.out.println("CDN 서버 접속 오류 발생!!");
}finally {
try {
ftp.disconnect(); //ftp 접속해제 필수
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
=> 잘 올라감니당
'CLASS > SPRINGBOOT' 카테고리의 다른 글
#10-2 / Ajax로 이미지 전송 및 JPA (0) | 2024.08.28 |
---|---|
#10-1 / CDN 이미지 (0) | 2024.08.28 |
#9-2 / Thymeleaf 부가사용 방법 (with , T, formatInteger.. ) (0) | 2024.08.27 |
#9-1 / JPA 5 - 회원가입 list paging (0) | 2024.08.27 |
#8-4 / JPA 4 - 회원가입 search (0) | 2024.08.27 |