J'ai essayé d'utiliser ce module dans le framework Express. Après quelques essais infructueux et des recherches sur le site stackoverflow, j'ai compris les raisons du dysfonctionnement: la juxtaposition de deux couches de traitement du formulaire d'upload.
La couche web d'express se présente comme ceci:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
app.set 'port', process.env.PORT || 3000 | |
app.set 'views', __dirname + '/views' | |
app.set 'view engine', 'ejs' | |
app.use express.favicon() | |
app.use express.logger('dev') | |
app.use express.bodyParser() | |
app.use express.methodOverride() | |
app.use app.router | |
app.use express.static(__dirname + '/public') |
Aussi la syntaxe form = new formidable.IncomingForm() est redondante avec bodyParser.
Deux solutions possibles:
Commenter la ligne express.bodyParser() et utiliser new formidable.IncomingForm() pour traiter le formulaire ou inversement , ne pas utiliser new formidable.IncomingForm() et traiter le formulaire avec les primitives d'Express.
Pour ma part je préfère utiliser les méthodes de Formidable car elles sont plus adaptées à la gestion d'un upload.
Aucun commentaire:
Enregistrer un commentaire