이미지를 어디에 저장해야할까..?
1. 로컬
2. DB
3. s-3
3번은 유료이고 프로젝트가 크지 않은 경우 이기에 제외,
2번은 blob타입인 이미지를 Db에 저장하는 것 역시 옳지 않다고 생각해 제외
그렇다면 1번인데..3번을 이용하는 방법과 로컬보다 더 좋은 방법은 차차 생각해 봐야겠다.
이전 코드는 파일이름이 자동으로 해싱되어 내 로컬에 저장되는데, 기능 구현을 위해 파일 이름을 확장자까지 나오게 코드를 바꾸고 메모리에 파일을 버퍼 형식으로 바꿔 저장하도록 코드를 바꿔보자.
우선 파일이름을 내가 사용할 수 있게 저장 되도록 코드를 변경해보자.
const path = require("path");
const upload = multer({
storage: multer.diskStorage({
destination: function (req, file, cb) {
cb(null, "uploads/");
},
filename: function (req, file, cb) {
cb(null, new Date().valueOf() + path.extname(file.originalname));
},
}),
});
저장소를 diskStorage에 현재시간+확장명으로 저장하는 코드로 변경했다.