Search code examples
javascriptnode.jsexpressbackendmulter

How can I upload a folder with images


I'm using Node.js with express and multer for manage a single file upload. But I would like to be able to upload a folder which contains for example 10 images inside.

const express = require('express');
const cors = require('cors');
const multer = require('multer');

const app = express();

//settings
app.set('port', process.env.PORT || 4000);

//middlewares
app.use(cors());
app.use(express.json());

const storage = multer.diskStorage({
  destination: 'files/',
  filename: (req, file, cb) => {
    cb(null, file.originalname)
  }
})

app.use(multer({
  storage: storage
}).single('avatar'));

Folder that I would like to upload to my server


Solution

  • Try this.

    const express = require('express');
    const cors = require('cors');
    const multer = require('multer');
    
    const app = express();
    
    //settings
    app.set('port', process.env.PORT || 4000);
    
    //middlewares
    app.use(cors());
    app.use(express.json());
    
    const storage = multer.diskStorage({
      destination: 'files/',
      filename: (req, file, cb) => {
        cb(null, file.originalname)
      }
    })
    
    app.use(multer({
      storage: storage
    }).array('avatar',100));//This will allow up to 100 images