在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ express的multer如何添加用戶鑒權(quán)?

express的multer如何添加用戶鑒權(quán)?

1、需要做個(gè)用戶文件上傳的接口,接收用戶文件前需要判斷是否登錄
2、使用multer

const 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是檢測(cè)用戶登錄的中間件,如果已登錄,返回userid
UserFile.uploadFile是上傳成功后的返回處理

3、結(jié)果:上傳文件失敗,返回

<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Error</title>
    </head>
    <body>
        <pre>10000</pre>
    </body>
</html>

10000是userid

4、請(qǐng)問(wèn)要實(shí)現(xiàn)鑒權(quán)再上傳應(yīng)該怎么去做呢


找到一些資料,https://github.com/expressjs/...

回答
編輯回答
舊酒館
function checkLogin(req, res, next) {
  // 判斷是否登錄,可以通過(guò)cookie/session或jwt
  if (req.get('Authoriztion') === 'valid-token') {
    // 保存登錄信息到req中供之后調(diào)用
    req.userid = 1000;
    // 透?jìng)鞯较乱粋€(gè)中間件, 必須
    next();
  } else {
    // 登錄失敗,直接返回錯(cuò)誤響應(yīng)
    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); // 其它字段
});
2017年10月3日 04:35