node.js 사진 업로드 기능(3)

d_wwan·2023년 7월 12일
0

이미지를 어디에 저장해야할까..?
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에 현재시간+확장명으로 저장하는 코드로 변경했다.

profile
세상 모든 사람들을 이해할 수 있는 날이 오기를

0개의 댓글