Develop/Spring

파일 첨부 할때의 두가지 방법(파일서버 사용, 로컬경로 업로드)

롱하 2024. 6. 28. 14:17

프로젝트를 진행할때 파일첨부를 구현하면서 AWS S3를 주요 사용해왔지만, 로컬 경로를 통한 업로드 또한 가끔 사용해보면서 스프링부트에서 파일첨부할 때 대표적으로 사용하는 방법에 대해서 알아보게 되었다.

 

일단, 스프링 부트에서 파일 첨부를 처리하는 주요 방법에는 대표적으로 두가지가 있다.

 

 

  • 파일 서버 또는 클라우드 스토리지 사용:
    • AWS S3, Google Cloud Storage, Azure Blob Storage 등과 같은 클라우드 스토리지 서비스를 이용하여 파일을 업로드하고 관리할 수 있다.
    • 이 방법의 장점은 파일 저장소가 클라우드에 있기 때문에 확장성과 접근성이 뛰어나며, 데이터 백업과 보안이 비교적 쉽다는 점이 있다.
  • 서버 로컬 경로에 파일 업로드:
    • 파일을 서버의 특정 디렉토리에 직접 저장하는 방식
    • 이 방법은 설정이 상대적으로 간단하고 초기 비용이 적지만, 서버의 저장 용량이 제한적이고 확장성이 떨어지며, 서버의 파일시스템에 대한 직접적인 접근이 필요해 보안상의 위험이 있을 수 있다.

 

두 방법 중 어떤 것을 선택할지는 프로젝트의 요구사항, 파일 크기, 보안, 비용, 접근성 등의 요소를 고려하여 결정해야 하지만 대체적으로 파일서버를 사용하는 추세이다.