YagSill

node.js API multer 이미지 업로드 + [postman 사용] 본문

node.js

node.js API multer 이미지 업로드 + [postman 사용]

YagSill 2023. 6. 15. 21:54
728x90

안녕하세요 yagsill 입니다.

 

이미지를 parameter에 넣어 API를 호출해보겠습니다.

 

 

1. multer pacakge 설치

npm install multer

 

multer 패키지를 설치해 쥬세욤.

 

2. multer.js 작성

스크립트 파일을 굳이 밖으로 안빼겠다면 상관 없습니다.

그러나 우리는 코드의 재사용을 항상 염두해 두기 위해 스크립트를 따로 뺄겁니다.

const multer = require("multer"); //multer 패키지 참조

const days = new Date().toLocaleDateString().replace(/\./g, "").replace(/ /g, ""); // 20230615 형식의 현재 시간 나타내기

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, "여기에는 이미지가 떨어질 폴더 경로");
  },
  filename: function (req, file, cb) {
    cb(null, days + " - " + file.originalname);
  },
});

const upload = multer({ storage: storage });

module.exports = upload;

 

3. api 호출 부분

const upload = require("../loaders/multer");

router.post("/", upload.single("file"), async (req, res, next) => {

  var param = {
    file: req.file,
  };
  
  return res.json({
    resultCode: 200,
    resultMsg: "파일 업로드 성공",
  });
}

module.exports = router;

간단하게 호출하면 return으로 json 데이터 넘겨줘 볼게요.

그리고 파일이 실제로 떨어지는지 확인 하기 위해 multer.js에서 작성한 파일이 떨궈질 경로에 실제로 폴더를 만들어 줘야 합니다.

 

4. 이미지가 떨어질 폴더 생성

 

 

원하는 경로에 폴더를 만들어 놓고 거기에 떨구겠다 라고 하는 겁니다.

 

5. 실제 postman 돌려보기

한번 돌려보겠습니다.

 

 

아주 잘 떨어집니다. 

postman이던 실제 서버에 전송하던 이미지가 포함된 파라미터는 formData로 front에서 담아가지고 서버에 보내야 합니다.. 꼭!!!!

 

아무튼 포스트맨으로 날려보면 파일업로드가 성공적으로 보내졌고 실제로 폴더에 잘 들어갔는지 보겠습니다.

아주 아주 잘 들어왔네요

 

이로써 multer 패키지를 사용해서 이미지를 업로드 하는 방법이었습니다.

 

728x90