spring 리마인드

multpartRequest,commons-io의존성 (파일업로드)

LRWoo 2023. 4. 26. 17:50
728x90
반응형

 

2023.04.25 - [spring 리마인드] - @value 어노테이션으로 약관내용 불러오기, ExceptionHandler

 

@value 어노테이션으로 약관내용 불러오기, ExceptionHandler

2023.04.24 - [spring 리마인드] - springframework mybatis 로 회원(목록,가입,수정,삭제) 생성하기 springframework mybatis 로 회원(목록,가입,수정,삭제) 생성하기 2023.04.21 - [spring 리마인드] - spring mybatis(동적sql)와

ji7290.tistory.com

 

새프로젝트 만들기 servlet,root-context, web.xml을 가져온다.

 

 

 

pom.xml에 의존성 추가하기

https://mvnrepository.com/

 

 

commons-io

commons-fileupload

 

 

 

 

views폴더에 header,home.jsp를만들어주자

 

controller패키지에 클래스를 만들어준다

get으로 접근해서 페이지부터 띄워준다.

 

ex01.jsp의 form태그의 요청의 방식이 post이고   enctype이  multipart/form-date타입이다 

 

그걸 FileService에  post mapping메서드를  추가해서  꺼내서 쓸것이다.

 

근데 지금 서버를 실행하면 에러가난다. 스프링에서 파일업로드를 처리해주기 위해서는

중간작업을 해주는 springbean객체를 만들어야한다.

 

 

요청을 담당하는 servlet-context로 가자

업로드 허용최대파일의 크기 10메가 =10485760

기본 언어값 = utf-8

 

 

 

ex01.jsp

 

 

컨트롤러를 수정해서 제출을 확인해보자

 

 

 

 

 

ex01.jsp의 input의 name과  multipartFile이 받아주는 매개변수 이름이 일치해야한다.

 

 

파일서비스 클래스에 업로드되는 파일을 저장할  디렉토리 만들기

 

 

파일을 선택해서 이미지파일을 업로드해보자

 

디렉토리에 폴더가 지정한 폴더가 만들어지고 업로드시킨 파일이 saveDirectory 경로에 저장된다.

FileService

 

 

강의장 서버호스트로도 접속해서 파일을 업로드할 수 있다.

 

 

업로드도니 파일이름과  파일이미지를 노출시켜주자

 

 

컨트롤러에서 filename이라는 이름으로 오브젝트를 추가시켜준다.

리다이렉트 하면서 addobject를 수정하면 쿼리스트링 형태로 전송한다.

servlet으로 이동하자

 

리소스 매핑을 추가시켜준다. upload_0426폴더에서 찾아라.

 

ea01.jsp에 

이미지태그를 추가시켜준다

 

 

 


 

MultipartFile로 업로드하기

 

header.jsp

 

ex02Controller

 

ex01을 그대로 복사해서 multipartFile로 올려본다.

 

 

 

 

다음은 DB연동해서 사이트에서 파일업로드해서 DB로 넘겨주기

728x90
반응형