Joh*_*ohn 9 javascript validation node.js express multer
我正在尝试在上传图像之前验证我的表单,但我的中间件上出现空字符串
const upload = multer({
storage: storage
});
router.post('/upload', formsValidation, upload.fields([{
name: 'images',
maxCount: 20
}, {
name: 'imageMain',
maxCount: 1
}]), function(req, res, next) {
code...
});
Run Code Online (Sandbox Code Playgroud)
这是我的中间件:
function formsValidation (req, res, next) {
console.log(req.body) //getting empty array here
return next();
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用来自 multer 的 fileFilter,但有时我没有任何图像可以上传字符串来存储和验证,我尝试将 req.body 从 multipart/form-data 解析为字符串,然后验证并使用 next()但我收到一个范围错误,我该如何解决这个问题?
这是来自 Multer 的文档:
请注意,req.body 可能尚未完全填充。这取决于客户端向服务器传输字段和文件的顺序。
这意味着您必须formsValidation在 multer 中间件之后调用,以确保所有发布的数据已完全填充
router.post('/upload', upload.fields([{
name: 'images',
maxCount: 20
}, {
name: 'imageMain',
maxCount: 1
}]), formsValidation, function(req, res, next) {
code...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3275 次 |
| 最近记录: |