개발 공부지식/*개발 공부*
<개발공부, 개공> Multer란 무엇인가?
주인장v
2022. 7. 21. 14:32
오늘은 멀터에 대해 알아보겠다!
우리 프로젝트는 현재 Multer 를 활용한 S3에 이미지 업로드 기능을 개발한 상황이다.
이 상황에서 우리 팀이 왜 multer라는 기술을 사용했는지 적어보려고 한다.
What is Multer?
multer란?
Node.js에서 파일을 업로드하기 위해 사용되는 multipart/form-data를 다루기 위한 미들웨어이다.
Why Multer-S3?
Front-end에서 유저가 로컬에서 업로드한 이미지를 저장하는 방법은 여러가지가 있다.
서버에 이미지를 저장하는 폴더를 만들고, 클라이언트로부터 요청받은 파일을 저장하는 것이 있고,
이미지를 따로 저장하는 서버를 만들어 저장할 수 있다.
또한, DB에 Blob 타입으로 저장할 수도 있다.
위의 경우들은 사용하는 서버와 DB의 상태 또는 이를 구동하는 PC의 성능에 따라 퍼포먼스(성능)가 달라질 수 있다한다.
그래서, AWS S3 버킷에 이미지 파일을 저장하고,
DB엔 그 버킷의 이미지 파일 경로(이미지 주소)를 저장하고, 서버는 이 경로를 클라이언트로 응답하는 방법이 좋다.
이렇게 하게 되면 PC의 성능을 고려하지 않아도 되며, 사용한 만큼 비용을 지불하는 것으로 보다 쾌적하게 백엔드를 구성할 수 있다.
이를 Multer-S3 와, AWS-SDK 모듈을 사용하여 구현할 수 있다.
설치
npm install multer multer-s3 aws-sdk --save