Busboy ne lance pas l'événement final

J'essaie de transmettre un objet de demande de mes routes à un contrôleur qui traite les téléchargements,

Voici la route –

app.post('/upload/notes',auth.requiresApiLogin,function(req,res){ upload.file(req,res); }); 

Voici le code du contrôleur (upload.js) qui a la méthode du fichier exporté

 var fs = require('fs'), uuid = require('node-uuid'), path = require('path'), Busboy = require('busboy'); exports.file = function(req, res) { var busboy = new Busboy({ headers: req.headers}); busboy.on('file', function(fieldname, file, filename,transferEncoding,mimeType) { console.log("inside upload function"); console.log(file); }); busboy.on('field', function(fieldname, val, valTruncated,keyTruncated) { console.log("inside field function"); console.log(fieldname); }); busboy.on('finish',function(){ console.log('finished'); }); req.pipe(busboy); // // req.pipe(req.busboy); // req.busboy.on('file', function(fieldname, file, filename,transferEncoding,mimeType) { // var fName = uuid.v4(); // console.log(filename); // var fileext = filename.substr(filename.lastIndexOf('.') + 1); // // console.log(transferEncoding); // console.log(mimeType); // var filepath = path.normalize(__dirname + '/../../'); // var fstream = fs.createWriteStream(filepath+'/server/uploads/'+fName+'.'+fileext); // file.pipe(fstream); // fstream.on('close', function () { // res.redirect('back'); // }); // }); }; 

Alors, ce que je vois que les champs et les fichiers sont connectés à la console, mais l'événement de finition n'est pas déclenché. Que dois-je essayer d'autre?

Vous devez donc consommer le flux de file quelque sorte. À des fins de test, vous pouvez ignorer les données en ajoutant file.resume(); Dans le gestionnaire d'événements de fichiers.

Je crois comprendre cela. L'événement final déclenchera-t-il après la fin du fichier et de l'événement de terrain? Est-ce qu'ils sont tous un autre événement qui va déclencher après la fin du champ et l'événement du fichier. Je dois envoyer la réponse au client une fois que tous les événements sont terminés.

C'est très critique. s'il vous plaît, faites-moi savoir