🚨깜짝 연장🚨 30% 마지막 할인받기

[Spring boot]9.파일 업로드/다운로드 구현해 보기

※업로드 부분

1.아래와 같이 build.gradle에 jar를 추가해 준다.

2.그 후 아래와 같이 bean을 설정해 준다.

3.html이나 jsp에 아래와 같이 enctype="multpart/form-data"와 file관련 input을 추가한다.

4.사용할 controller에 아래와 같이 MultipartHttpServletrequest를 파라미터로 추가해 준다.

5.아래와 같이 작성 후 파일이 제대로 전송되었는지 확인한다.

 - Iterator<String> iterator= multipartHttpServletRequest.getFileNames();

   이 부분에서 getFileNames를 사용하게 되면 서버로 한꺼번에 전송되는 한개 이상의 파일 태그 이름을 이터레이터(Iterator)형식으로 가져올수 있다.

(아래와 같이 2개 추출 가능)

 

※위와 같이 확인 되었으면 DB에 저장되게끔 아래와 같이 디렉토리 및 DB에 저장될 부분을 만들어준다.

1.DTO생성

2.파일 업로드는 공통적으로 쓰이기 때문에 아래와 같이 작성해 준다.

3.공통을 만들었으면 아래와 같이 @Autowired로 선언 후 사용해 준다.

4.위와 같이 등록하기 전에 아래와 같이 해당 게시물의 등록번호를 추출한다.

useGeneratedKeys와 keyProperty를 선언함으로써 게시물의key값을 추출할수 있다.

  • useGeneratedKeys : DBMS가 자동 생성키(mysql의 경우 Auto Increment)를 지원할 경우에 사용

  • keyProperty는 useGeneratedKeys나 selectKey의 하위 엘리먼트에 의해 리턴되는 키를 의미한다.

 

게시물을 등록했으면 아래와 같이 파일정보도 저장하는 쿼리를 넣어준다.

5.위와 같이 파일을 업로드를 하고 화면에 나타날 경우 아래와 같이 쿼리를 조회해 준다.

6.가져오는 부분에서는 List로 받아주고 저장한 후 화면에 나타내면 된다.

 

 

 

※다운로드 부분

 

1.아래의 html과 같이 작성한다.

2.service부분 추가

3.serviceImpl부분 추가

4.mapper부분 추가

 - @Param을 사용하게 된다면 동적 마이바티스에서 Map형식으로 받을수 있다고 한다.

5.xml에 sql쿼리를 추가한다.

※다운로드 실행 

 

 

댓글을 작성해보세요.

채널톡 아이콘