Comment uploader un fichier / image avec nodejs et expressjs (multer)

Comment uploader un fichier / image avec nodejs et expressjs (multer)

Etape 1 :

On crée un nouveau projet upload-node

npm install
npm init

 

La première étape est d’installer Multer ( est un middleware node.js pour gérer les données multipart / form-data, qui est principalement utilisé pour l’upload de fichiers.)

npm install --save multer

 

NB : On doit installer aussi express , nodemon et ejs

Etape 2 :

on va créer notre script server.js et un dossier uploads

var express = require('express')
var multer  = require('multer')

var storage = multer.diskStorage({
  destination: function(req, file, callback) {
    callback(null, './uploads');
  },
  filename: function(req, file, callback) {
    callback(null,Date.now()+file.originalname);
  }
})
var upload = multer({ storage: storage });

var app = express()

app
.get('/', (req, res)=> {
  res.render('formulaire.ejs');
})
.post('/', upload.any(), (req, res)=> {
    res.end('Merci !');
});

app.listen(8080);

 

On va créer aussi un dossier views et on va mettre dedans un fichier formulaire.ejs

<form action="" method="post" enctype="multipart/form-data">
  <input type="file" name="file">
  <br />
  <input type="submit" value="OK" />
</form>