📅 공부 기간 : 08. 30(금)
File을 다루는 Tool/Class가 필요 ➡️ Multipart File
File을 저장하는 방법 (1) - BLOB
- DB에 저장
- 블로그 사진 등
- Giga 단위로 데이터를 저장
- 반드시 encoding 해야 함.(또는 API의 도움 받기)
- 다운로드 받을 때는 decoding 해야 함.
- 단점 : 컬럼이 늘어나 테이블 용량이 커짐.
File을 저장하는 방법 (2) - 하드디스크
- Server의 하드디스크에 저장
- 저장 후 하드디스크에서 파일을 다운로드 받아야 함.
- 첨부 파일을 위한 컬럼을 추가하나, 테이블 용량이 많이 커지지는 않음.
- 단점 : service에서 save 작업을 추가로 해야 한다는 부담감이 있음.
File 저장 순서 (하드디스크 방식)
💡 key point : A가 올린 파일과 B가 올린 파일의 이름이 동일한 경우,(ex. 이력서_hwp) 서버에서 두 파일의 이름을 다르게 저장하며, 클라이언트가 파일을 다운로드 받을 때는 각자가 업로드한 파일명과 같아야 함.
- 첨부 파일을 위한 컬럼 추가
- 원래 파일명을 저장할 컬럼 + 수정된 파일명을 저장할 컬럼
- ex)
이력서.hwp ➡️ 이력서_dkai4fjdkfs13.hwp

- 클라이언트가 파일을 다운 받으면 savedFile이 저장됨. -> but setHeader가 이름을 originalFile과 같게 만들어서 오리지널이 다운 받아지는 것처럼 보임.
- 설정 파일 수정
- 파일의 용량 제한
- 업로드된 파일의 저장 위치(폴더) 설정