728x90
반응형
SMALL
반응형
SMALL
728x90
FPT NAS서버에 이미지를 저장하는코드이다.
private String saveImage(MultipartFile image) {
String server = "FTP 서버 IP"; // FTP 서버 IP
String username = "FTP 서버 사용자명"; // FTP 서버 사용자명
String password = "FTP 서버 비밀번호"; // FTP 서버 비밀번호
String remoteDir = "저장할 원격 디렉토리"; // 저장할 원격 디렉토리
FTPClient ftpClient = new FTPClient();
try {
// FTP 서버에 연결
ftpClient.connect(server);
ftpClient.login(username, password);
// FTP 서버에 접속이 성공하면, FTP 전송 모드 설정
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode(); // 패시브 모드로 설정
// 파일을 업로드할 InputStream 생성
InputStream inputStream = image.getInputStream();
// 원격 파일 경로 설정 (파일 이름 그대로 사용)
String remoteFile = remoteDir + image.getOriginalFilename();
// 파일 업로드
boolean success = ftpClient.storeFile(remoteFile, inputStream);
inputStream.close();
if (success) {
// 업로드된 파일의 경로를 반환
return remoteFile; // FTP 경로를 반환하고, 클라이언트에서 HTTP 경로로 요청하게 함
} else {
throw new RuntimeException("FTP 업로드 실패");
}
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("파일 저장에 실패했습니다.");
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
728x90
반응형
LIST