11 Mar 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>