0

fs.mkdir这是我创建的函数调用的 app.post 的代码newdir

app.post('/register', express.bodyParser(), function (req, res, next){

 var newu = new UserModel({});

 newu.user = req.body.nuser;
 newu.pass = req.body.npass;
 newu.mail = req.body.nmail;


 UserModel.find({ user: req.body.user }, function (err, user){

    if (user.lenght == 1) {

        res.redirect('/');

    }

    else {    

    newdir(req.body.nuser);   

    next()   

    if (err) throw err;

          newu.save(function (err, newu){

               req.session.user = newu.user;  
               res.redirect('/home')


           });

     }

  });

});

这是代码newdir

function newdir (username){

    var pathu = __dirname + '/users/' + username;

    fs.mkdir(pathu, function (err){

       if (err) throw err;

    });
}

这是代码/home

app.get('/home', function (req, res){

  console.log(req.session.user);

  res.send('Welcome ' + req.session.user + '!');

});

我可以req.session.user在我想要的所有 app.post/get 中分配一个,例如,当我使用它验证用户时,我可以正确分配 req.session.user:

app.post('/verify', express.bodyParser(), function (req, res){

  UserModel.find({ user: req.body.user }, function (err, user){

    if (user[0] == undefined) {

         res.redirect('/');

    }

     else{

       if (user[0].pass == req.body.pass) {

         req.session.user = user[0].user;
         res.redirect('/home');

       }

       else{

         res.redirect('/');

       }

   }

  if (err) throw err;

  });

});

但是,当我尝试req.session.user在同一个 app.post 中分配名为 fs.mkdir 的位置时,总是req.session.user未定义。也许我应该创建一个调用 fs.mkdir 的模块?我不知道该怎么办!

4

1 回答 1

0

在其他模块中调用时问题已解决fs.mkdir,非常简单:D

于 2012-12-23T15:43:09.023 回答