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); // 其它字段
});
添加回答
举报
0/150
提交
取消