액티브 스킬/노드

<Node.js> multer middleware

디벅잉 2021. 12. 2. 08:12
728x90

🐣

미들웨어란?

라우터와 컨트롤러 사이에 필요한 처리를 한다.

multer란?

파일을 업로드하게 해준다.

왜 사용하는지?

파일을 업로드하기 위해서 사용한다.

어떻게 사용하는지?

https://www.npmjs.com/package/multer

1. 설치

$ npm install --save multer

2. HTML form 요소 설정 (enctype 설정 중요)

<form action="/profile" method="post" enctype="multipart/form-data">
  <input type="file" name="avatar" />
</form>

3. 컨트롤러 파일 작성

const express = require('express');
const multer  = require('multer');
const upload = multer({ dest: 'uploads/' });

const app = express();

app.post('/profile', upload.single('avatar'), function (req, res, next) {
  // req.file is the `avatar` file
  // req.body will hold the text fields, if there were any
});

* 업로드한 파일을 읽으려면 Node.js fs 모듈의 fs.readFile 함수 활용

https://nodejs.org/docs/latest-v9.x/api/fs.html#fs_fs_readfile_path_options_callback

728x90