Node.js会话更新无效

时间:2014-03-11 17:56:44

标签: javascript node.js mongodb session express

尝试使用express和mongoDB更新Node.js中的会话时出现问题。

我正在将图片上传到目录,在mongo上保存它的名字,他们根据mongo记录更新会话。

问题在于,当我更新会话时,它获得了正确的数据(新图像名称),但是当移动到另一个路径时,它仍然得到旧的图像名称引用。

我的代码:

exports.uploadphoto = function(req,res){

if(!req.session.authorized){
        res.json(403,{message:'YOU MUST BE LOGGED IN'});
        return;
}

var userPhotoName = req.session.userData.photo;

if(userPhotoName) {

    fs.exists('public/userAssets/'+ userPhotoName, function (exists) {

        fs.unlink('public/userAssets/'+ userPhotoName, function (err) {

                if (err) throw err;
                console.log('DELETED AT public/userAssets/'+ userPhotoName);

        });

    });

}   


fs.readFile(req.files.photo.path, function(err, data){

        if(err)trow(err);


        var nameHash = crypto.createHash('md5').update(data).digest('hex');
        fs.writeFile('public/userAssets/'+ nameHash ,data,function(err){

            if(err) trow(err);

            User.findOneAndUpdate({email:req.session.userData.email},{$set:{photo:nameHash}}, function(err,result){

                        if (err){

                             res.json(401, {message: err});

                        }else{

                            req.session.userData.photo = nameHash;
                            console.log('SESSION - '+ req.session.userData);

                        }       

            });

            res.json(200, {message:'userAssets/'+ nameHash});

        });         
    });

};

我的日志

关于更新: 会议 - f925e0b6feb77878dd918da6a869af23(新参考)

当我申请另一条路线时

SESSION NAV NOW - 44f4a87035bd22c1995dcf0ab8af05b0(旧参考)

会话日志发生在我更新照片参考时,另一个发生在此之后,当我尝试移动到另一条路线时。

如果我再次logOut和logIN它完美地工作。有什么我可以用来强制会话更新?喜欢同步还是什么?

非常感谢!!!

0 个答案:

没有答案