访问 multer filefilter 中的 request.body

iLi*_*LiA 5 request node.js express multer body-parser

我想做以下事情:当用户上传带有表单字段的文件时,检查表单字段是否为空,如果是,则不上传文件。我正在使用这个代码

fileFilter: (req,file,callback) =>{
     if(req.body.name.trim().length < 1){
         callback(null, false)
     } 
 }
Run Code Online (Sandbox Code Playgroud)

但它给了我未定义的 req.body.name 并且据我所知 fileFilter 将 Express.Request 作为第一个参数,那么为什么我无法访问正文?

完全错误

类型错误:无法读取未定义的属性“trim”

谢谢!

Tre*_*son 9

当客户端在字段之前发送文件时会发生这种情况。这只能在客户端解决。要解决此问题,请切换文件和正文属性附加到客户端中上传对象的顺序。

更多信息: https: //github.com/expressjs/multer/issues/299