node.js - node js mongoose express-fileupload replacing error -


i'm creating upload project. created 2 routes upload. 1st when user registration part upload image 2nd 1 if driver adding vehicle can add image of vehicle.

the problem when run function 1st time works expected. if run other router after running of function. file replace last uploaded file name. please me fix it

here user registration upload function

if(req.files.file.name.split('.').pop() == 'jpg' ||      req.files.file.name.split('.').pop() == 'jpeg' ||      req.files.file.name.split('.').pop() == 'png') {     uploads     .findone({}, {}, { sort: { 'created_at' : -1 }},     function(err, last){         if(err) throw err;         if(!last) {             uploads             .create({                 filename: filename + '.' + extension,                 path: licenseimg             },             function(err, license){                 if(err) throw err;                 driver                 .create({                     driver_id: user._id,                     driving_license_copy: license._id                 },                 function(){                     req.files.file.mv(licenseimg + req.files.file.name, function(err){                         if(err) return res.status(500).send(err);                         fs.rename(licenseimg + req.files.file.name, licenseimg + filename + '.' + req.files.file.name.split('.').pop(), function(err){                             if(err) throw err;                             config.sendwithhash(                                 user.email,                                 'verify account',                                 'please click link down below verofy account \n http://localhost:1200/user/verify/email/',                                 user.nic + user.phone + user.email                             );                             res.send({                                 message: 'new user created, please verify email first',                             });                         })                     })                 });             });         }         else {             var filename = last.filename;             var renamedname = filename.split('_')[0] + "_" + parseint(parseint(filename.split('.')[0].substr(filename.split('.')[0].lastindexof('_')+1))+1);             console.log(filename);             console.log(renamedname);             uploads             .create({                 filename: renamedname + '.' + extension,                 path: licenseimg             },             function(err, license){                 if(err) throw err;                 driver                 .create({                     driver_id: user._id,                     driving_license_copy: license._id                 },                 function(){                     req.files.file.mv(licenseimg + req.files.file.name, function(err){                         if(err) return res.status(500).send(err);                         fs.rename(licenseimg + req.files.file.name, licenseimg + renamedname + '.' + req.files.file.name.split('.').pop(), function(err){                             if(err) throw err;                             config.sendwithhash(                                 user.email,                                 'verify account',                                 'please click link down below verofy account \n http://localhost:1200/user/verify/email/',                                 user.nic + user.phone + user.email                             );                             res.send({                                 message: 'new user created, please verify email first',                             });                         })                     })                 });             });         }     }); } else {     res.send('cannot upload type of files'); } 

this other upload function executes driver adding vehicle

uploads .findone() .sort({ 'created_at' : -1}) .exec(function(err, last){     if(err) throw err;     var filename = last.filename;     var filepath = './public/uploads/vehicles/';     var extension = last.filename.split('.').pop();     var renamedname = filename.split('_')[0] + "_" + parseint(parseint(filename.split('.')[0].substr(filename.split('.')[0].lastindexof('_')+1))+1);     console.log(last);     console.log(filename);     console.log(renamedname);     uploads     .create({         filename: renamedname + '.' + extension,         path: filepath     },     function(err, vehicleimg){         if(err) throw err;         vehicle         .create({             driver_id: req.decoded._doc._id,             make: req.body.make,             model: req.body.model,             year: req.body.year,             registration_no: req.body.reg_no,             vehicle_img: vehicleimg._id         },         function(){             req.files.file.mv(filepath + req.files.file.name, function(err){                 if(err) return res.status(500).send(err);                 fs.rename(filepath + req.files.file.name, filepath + vehicleimg.filename, function(err){                     if(err) throw err;                         res.send({                             message: 'vehicle added',                         });                     });                 });             });         });     }); 

so here of code error coming from. if knows why that, please let me know how fix it

thank you


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -