在 multer filefilter 中访问 request.body

access request.body in multer filefilter

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

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

但它给了我 undefined for req.body.name,据我所知,fileFilter 将 Express.Request 作为第一个参数,然后为什么我无法访问正文?

完全错误

TypeError: Cannot read property 'trim' of undefined

谢谢!

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

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