I am using connect-busboy to upload file in node/express app.The problem is sometimes it works(file get uploaded succsesfully) and sometimes i get error Unexpected end of multipart data
and the application crash.What could be the cause of this error? Also any help on how to debug this will be appreciated. I am using node version 5
and connect-busboy": "0.2.14"
Thank you in advance
router.route('/images')
.post (function(req, res) {
var fstream;
req.busboy.on('file', function (fieldname, file, filename) {
fstream = fs.createWriteStream(__dirname + '/public/img/'+ filename);
file.pipe(fstream);
file.on('end', function() {
console.log('File [' + fieldname + '] Finished sucessfully');
});
fstream.on('error',function(err){
console.log('fstream error' + err);
file.unpipe();
});
fstream.on('close', function () {
res.status(200);
res.json({ message: 'File uploaded' });
});
});
req.pipe(req.busboy);
});
This is the error i am getting
throw er; // Unhandled 'error' event
: Error: Unexpected end of multipart data
2017-05-07T20:28:27.599826+00:00 app[web.1]: at
/app/node_modules/busboy/node_modules/dicer/lib/Dicer.js:62:28
filename
as-is. It is client-supplied and could be any value (including a malicious value that could be a relative path outside of your intended destination directory). Instead, use a random filename or even a hash offilename
would be ok. – Disconsolate