慕仙森
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、結(jié)果:上傳文件失敗,返回<html> <head> <meta charset="utf-8"> <title>Error</title> </head> <body> <pre>10000</pre> </body></html>10000是userid4、請問要實現(xiàn)鑒權(quán)再上傳應(yīng)該怎么去做呢找到一些資料,https://github.com/expressjs/...關(guān)注 | 3收藏 | 1
1 回答

慕標5832272
TA貢獻1966條經(jīng)驗 獲得超4個贊
function checkLogin(req, res, next) {
// 判斷是否登錄,可以通過cookie/session或jwt
if (req.get('Authoriztion') === 'valid-token') {
// 保存登錄信息到req中供之后調(diào)用
req.userid = 1000;
// 透傳到下一個中間件, 必須
next();
} else {
// 登錄失敗,直接返回錯誤響應(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); // 其它字段
});
添加回答
舉報
0/150
提交
取消