[Spring] 첨부 파일 올리기

호빵·2024년 9월 23일

Spring_이론

목록 보기
6/7

📅 공부 기간 : 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) 서버에서 두 파일의 이름을 다르게 저장하며, 클라이언트가 파일을 다운로드 받을 때는 각자가 업로드한 파일명과 같아야 함.

  1. 첨부 파일을 위한 컬럼 추가
    • 원래 파일명을 저장할 컬럼 + 수정된 파일명을 저장할 컬럼
    • ex) 이력서.hwp ➡️ 이력서_dkai4fjdkfs13.hwp
    • 클라이언트가 파일을 다운 받으면 savedFile이 저장됨. -> but setHeader가 이름을 originalFile과 같게 만들어서 오리지널이 다운 받아지는 것처럼 보임.
  2. 설정 파일 수정
    • 파일의 용량 제한
    • 업로드된 파일의 저장 위치(폴더) 설정
profile
인류의 위대한 대화에 참여하기 위해 다양한 언어를 탐구합니다.

0개의 댓글