Web 이미지(파일) 업로드
업로드란 클라이언트(사용자, 브라우저)에서 서버(DB)
곳 로컬(폰,PC)에서 서버(톰캣, 프로젝트) 로 파일을 복사 올리는 것을 말한다.
Web에서 이미지(파일) 업로드를 하기 위한 준비
1. 이미지 파일(데이터)
2. .jar(라이브러리, 소스파일) -> 라이브러리는 cos.jar을 사용
이미지 업로드를 구현할때 필요한 클래스, 메서드를 제공
라이브러리 추가 방법
properties -> Java Build Path -> Classpath 에 적용
프로젝트 -> WEB-INF -> lib 에 적용
apache -> tomcat-10.1.28/lib 에 적용 (이때 tomcat은 서버이다.)
//cos 라이브러리를 사용할때
//파일 이름을 불러오는 코드는 아래와 같다.
Paths.get(file.getSubmittedFileName()).getFileName().toString();
//Spring 에서 많이 사용하는 파일 업로드 코드
try (InputStream input = file.getInputStream();
FileOutputStream output = new FileOutputStream(fileToSave)) {
byte[] buffer = new byte[1024];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
}catch(Exception e) {
e.printStackTrace();
}
만약 cos 라이브러리가 없다면 어노테이션을 설정하고 사용해야한다.
//프로필 이미지를 저장하기 위해 @ 어노테이션을 설정한다.
@MultipartConfig(
// 멀티파트 설정
maxFileSize = 1024 * 50, // 한 파일을 저장한때 10KB
maxRequestSize = 1024 * 50, // 여러 파일을 저장한때 50KB
fileSizeThreshold = 1024 * 2, // 메모리에 저장할때 크기 2KB
location = "/" // 파일이 저장되는 경로
)
728x90
'국비 내용 정리 > HTML' 카테고리의 다른 글
국비 44일차 내용 정리 (0) | 2024.09.03 |
---|---|
국비 43일차 내용 정리(Listener) (0) | 2024.09.02 |
국비 36일차 내용 정리(비동기 처리) (0) | 2024.08.22 |
국비 35일차 내용 정리(핸들러 맵핑) (0) | 2024.08.20 |
국비 34일차 내용정리(스프링 프레임워크의 구조) (0) | 2024.08.19 |