째의 개발 기록방

[Java/Spring] 파일다운로드(File_download) 본문

Back End/Java, Spring

[Java/Spring] 파일다운로드(File_download)

째린이 2021. 12. 7. 22:52

파일다운로드할 화면


  • jsp

 

파일다운로드 jsp

 

reportFileVOList 는 리스트의 형태로 데이터가 담겨져 있기 때문에 for문을 사용하여 데이터를 바인딩한다.

이렇게 하면 맨위 파일다운로드 화면처럼 파일 오리지날 네임 옆에 파일다운로드라는 a 버튼이 생성된다.

필요한 파일만 각각 다운받는것이다.

 

1. reportFileVOList 안에 fileOrgNm(파일오리지날명)이 null이 아닐 경우에 #fileOrg의 내용이 출력되어라..

2. 파일다운로드 버튼, 삭제버튼 모두 파라미터로 파일아이디값을 넘겨준다.(fileId = fileVO의 pk값)

3. reportFileVOList 안에 fileOrgNm(파일오리지날명)이 null일 경우는 첨부 된 파일이 없습니다. 로 출력

 

파일 삭제 jsp

파일삭제도 다운로드와 같은 방식으로 사용할 수 있다.

 


  • javascript

 

해당 url로 서버에 폼서브밋 해준다.


  • controller

 

파일다운로드 컨트롤러

1. 파일정보를가져온다.+키값

   - 파일은 업로드 과정에서 디비에 저장되어있다.

 

2. 파일경로, 파일명(오리지날 파일명)을 가져온다.

   - 뷰에서 서버단으로 요청을 보낼때 파라미터는 최소한으로 보내는것이 좋다.(디비에 키값이 있는이유!키값을 활용하자)

 

3. 가져온것들을 파일이 저장되어있는 경로에 붙여줘서 (fileFullPath)을 만든다.

   - 배포하는것이 아니기때문에 프로퍼티에 설정되어있는 로컬경로로 업로드 해둔 경로에서 가져온다.

 

4. response header에 세팅한다.

   - 참고로 response는 한번 돌면 끝~! 포문처럼 여러번 돌릴 수 없다. 그래서 한번에 다중파일을 다운로드 할 땐 zip파일로 내려받게 하거나 단일로 다운로드 한다.

 

저 컨트롤러 소스는 기존의 엑셀파일다운로드 소스와 짬뽕(?)해서 작성해보았다!!

 

파일업로드 소스는 아래링크에~!!!

 

2021.12.11 - [Back End/Java, Spring] - [Java/Spring] 파일업로드(File_Upload)

 

[Java/Spring] 파일업로드(File_Upload)

jsp 글 등록시 파일을 같이 업로드 할때는 폼태그에 enctype="multipart/form-data" 을 꼭 추가해야한다. javascript ajax로 서버에 폼 서브밋 요청하기 controller fileVOset 이라는 파일만 저장시키는 메서드..

zzecoding.tistory.com