捕获错误并使用multer解析表单数据

时间:2019-09-27 11:02:24

标签: node.js express middleware multer

我有一个要解决的问题。我使用multer来保存文件以及解析表单中的其他字段。如果我这样使用multer:

var uploadMiddleware = upload.single('avatar')
app.post('/profile', uploadMiddleware, function (req, res, next) {
    // rest of code
})

然后我无法捕获任何错误。如错误的字段名。如果某个字段的文件不是avatar,我会收到错误消息,并且应用程序会中断。这不理想。例如,我想捕获错误并记录下来。

如果使用这种方法,我可以保存文件并捕获错误,但是无法解析其他字段。

var upload = multer().single('avatar')

app.post('/profile', function (req, res) {
  upload(req, res, function (err) {
    if (err) {
      // An error occurred when uploading 
      return
    }

    // Everything went fine 
  })
}

我需要这两件事来解析表单字段,并在存在错误时捕获错误。我该怎么办?

理想情况下,我想使用第二种方法,因此我可以先发出数据库请求,然后再从数据库中保存带有ID的文件。因此,我不必存储路径。但是我需要同时解析表单。

0 个答案:

没有答案