multer

multer

  • body-parser๋กœ๋Š” ์š”์ฒญ ๋ณธ๋ฌธ์„ ํ•ด์„ํ•  ์ˆ˜ ์—†์–ด์„œ multer๋ผ๋Š” ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”.

  • ์ด๋ฏธ์ง€/๋™์˜์ƒ ํŒŒ์ผ ์—…๋กœ๋“œ๋ฅผ ๋„์™€์คŒ

์‚ฌ์šฉ๋ฐฉ๋ฒ•

const multer = require('multer');
const fs = require('fs');

try {
  fs.readdirSync('uploads');
} catch (error) {
  console.error('uploads ํด๋”๊ฐ€ ์—†์–ด uploads ํด๋”๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.');
  fs.mkdirSync('uploads');
}

const upload = multer({
  storage: multer.diskStorage({
    destination(req, file, done) {
      done(null, 'uploads/'); // uploads/ ํด๋”์— ์ €์žฅํ•˜๊ฒ ๋‹ค
    },
    filename(req, file, done) {
      const ext = path.extname(file.originalname);
      done(null, path.basename(file.originalname, ext) + Date.now() + ext);
    },
  }),
  limits: { fileSize: 5 * 1024 * 1024 }, // 5MB
});

app.get('/upload', (req, res) => {
  res.sendFile(path.join(__dirname, 'multipart.html'));
});

app.post('/upload', upload.single('image'), (req, res) => {
  console.log(req.file);
  res.send('ok');
});

single image

์ „์ฒด์ฝ”๋“œ

client

multer.html

backend

app.js

multiple images

multer.html

app.js

  • ์ฃผ์š” ๋ณ€๊ฒฝ์ 

    • upload.sinlge โ†’ **upload.array**

    • req.file โ†’ **req.files**

multiple images 2

multer.html

app.js

Last updated