为了账号安全,请及时绑定邮箱和手机立即绑定

express的multer如何添加用户鉴权?

express的multer如何添加用户鉴权?

慕仙森 2019-03-15 22:15:07
1、需要做个用户文件上传的接口,接收用户文件前需要判断是否登录2、使用multerconst multer  = require('multer');const upload = multer({ dest: 'uploads/' });const router = express.Router();router.post('/upload', authCheck.checkLogin, upload.single('avatar'), UserFile.uploadFile)export default router其中authCheck.checkLogin是检测用户登录的中间件,如果已登录,返回useridUserFile.uploadFile是上传成功后的返回处理3、结果:上传文件失败,返回<html>    <head>        <meta charset="utf-8">        <title>Error</title>    </head>    <body>        <pre>10000</pre>    </body></html>10000是userid4、请问要实现鉴权再上传应该怎么去做呢找到一些资料,https://github.com/expressjs/...关注 | 3收藏 | 1
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

function checkLogin(req, res, next) {

  // 判断是否登录,可以通过cookie/session或jwt

  if (req.get('Authoriztion') === 'valid-token') {

    // 保存登录信息到req中供之后调用

    req.userid = 1000;

    // 透传到下一个中间件, 必须

    next();

  } else {

    // 登录失败,直接返回错误响应

    res.status(403).end();

  }

}

 

router.post('/profile', checkLogin, upload.single('avatar'), function (req, res, next) {

  console.log(req.userid); // 1000

  console.log(req.file); // 上传的文件

  console.log(req.body); // 其它字段

});


查看完整回答
反对 回复 2019-03-20
  • 1 回答
  • 0 关注
  • 481 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信