最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

NodeJS Multer 在上传前验证字段

网站源码admin30浏览0评论

NodeJS Multer 在上传前验证字段

NodeJS 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...

});

这是我的中间件:

function formsValidation (req, res, next) {

  console.log(req.body) //getting empty array here
  return next();
}

我知道我可以使用 multer 的 fileFilter 但有时我没有任何图像可以上传只是字符串来存储和验证,我试图将 req.body 从 multipart/form-data 解析为字符串然后验证并使用 next( ) 但我得到一个范围错误,我该如何解决这个问题?

回答如下:

这是来自 Multer 的docs:

请注意,req.body 可能尚未完全填充。这取决于 按照客户端将字段和文件传输到服务器的顺序。

这意味着你必须在 multer 中间件之后调用

formsValidation
,以确保所有发布的数据都已完全填充

router.post('/upload', upload.fields([{

    name: 'images',
    maxCount: 20

}, {

    name: 'imageMain',
    maxCount: 1

}]), formsValidation, function(req, res, next) {
    code...
});
发布评论

评论列表(0)

  1. 暂无评论