pom.xml 에 아래 내용 추가
<!-- 다중 파일 업로드에 필요한 라이브러리를 설치하기 위해
pom.xml을 작성합니다. -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
<!-- 썸네일 이미지 -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
<!-- 아래는 기존에 있는거, 위에는 새로 추가한 라이브러리 입니다! -->
자바 버전 변경
servlet-context.xml 에 추가
멀티파트 리졸버 : 여러개의 파일을 한꺼번에 업로드할 수 있는 기능
<!-- 멀티파트 리졸버 -->
<!-- 스프링의 CommonsMultipartResolver 클래스를 이용하면 여러 개의 파일을
한꺼번에 업로드할 수 있습니다. -->
<!-- servlet-context.xml 파일에서 CommonsMultipartResolver 클래스를
multipartResolver 빈으로 설정합니다. -->
<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- CommonsMultipartResolver 클래스의
maxUploadSize 속성은 최대로 업로드가 가능한 파일의 크기를 설정합니다. -->
<beans:property name="maxUploadSize" value="52428800" />
<!-- maxInMemorySize 속성은 디스크에 임시 파일을 생성하기 전
메모리에 보관할 수 있는 최대 바이트 크기를 설정합니다. -->
<beans:property name="maxInMemorySize" value="1000000" />
<!-- defaultEncoding 속성은 전달되는 매개변수의 인코딩을 설정합니다. -->
<beans:property name="defaultEncoding" value="utf-8" />
</beans:bean>
home.js
경로 복사해서 넣기
// 파일 다운로드 컨트롤러인 FileDownloadController 클래스를 작성합니다.
// 우리는 버퍼 기능을 이용해서 빠르게 브라우저로 이미지 파일을 전송 처리 합니다.
// 파일 업로드 컨트롤러를 구현합니다. 파일과 매개변수를 같이 전송하므로 Map을 사용합니다.
// 매개변수의 name/value를 다시 map의 key/value로 저장합니다.
// 파일 이름을 ArrayList에 저장한 후 다시 map에 key/value로 저장합니다.
<!-- enctype = "multipart/form-data"의 의미는 파일 업로드 시
enctype은 반드시 multipart/form-data로 설정해야 합니다. -->
썸네일 이미지 생성
기본셋팅완료
// 원본 이미지에 대해 썸네일 이미지 파일을 생성한 후 다운로드할 수 있도록 합니다.
// Thumbnails.of(image).size(50,50).outputFormat("png").toFile(thumbnail)은
// 가로와 세로 크기가 50픽셀인 png 썸네일 이미지를 생성한 후 파일로 저장하는 구문입니다.
// 쇼핑몰의 상품 목록 이미지 같은 경우, 썸네일 이미지 파일을 따로 생성할
// 필요 없이 썸네일 이미지를 바로 다운로드하면 훨씬 빨리 표시할 수 있습니다.
// 썸네일 이미지 바로 출력하기 : 위와 달리 앞서와는 C:\spring\image_repo2\thumbnail 폴더에 썸네일 이미지는 생성되지 않음
'☭DEVELOPER > #2 웹개발(자바기반 풀스택)' 카테고리의 다른 글
[FRONTEND] 이미지맵 만들기 (0) | 2024.11.01 |
---|---|
[BACKEND]JAVA_입력과 출력 (0) | 2024.01.10 |
[BACKEND] ESHOP 커스터마이징(회원가입_행정안전부 도로명주소 적용) (0) | 2023.11.07 |
[BACKEND]ESHOP_AdroidApp_ReactApp_DB_Single SignOn 통합 처리 (0) | 2023.11.07 |
[안드로이드 프로그래밍을 위한 자바기초] 조건문과 반복문의 기본 문법 이해하기 (0) | 2023.11.05 |