使用multer上载文件不会使请求得到处理

时间:2019-01-26 16:58:54

标签: javascript node.js mongodb postman multer

我正在尝试创建一个REST API,该API可以接受某项的一些简单数据。我曾经在项目中使用multer作为文件处理程序。这是我用于导入和处理multer配置的代码:

const multer = require('multer')
const upload = multer({ dest: 'uploads/' })

这是相应的app.post路线:

// POST
router.post('/', upload.single('pi') ,(req, res, next) => {
  console.log(req.body)
  // console.log(req.file);
  console.log('hi there')
  const product = new Product({
    // _id: new mongoose.Types.ObjectId(),
    nm:   req.body.name,
    pr:   req.body.price,
    ca:   req.body.category,
    ti:   req.body.title,
    tg:   req.body.tag
  })

  product
    .save()
    .then(result => {
      res.status(201).json({
        message: 'Handeling POST requests...',
        createdProduct: {
          _id: result._id,
          nm:  result.nm,
          pr:  result.pr,
          ca:  result.ca,
          ti:  result.ti,
          tg:  result.tg,
          meta: {
            type: 'get',
            url: 'http://localhost:4000/products/' + result._id,
          }
        }
      })
      // console.log(result)
    })
    .catch(err => {
      console.log(err)
      res.status(500).json({
        error: err
      })
    })
})

问题

问题是文件正在上传到uploads/目录中,但没有创建产品。将文件上传到相应目录后,我在Postman中得到了Could not get any response。我也尝试将req.body记录在机壳中,但是终端没有任何东西。我还将Content-Type:设置为application/x-www-form-urlencoded,并在邮递员中使用form-data

0 个答案:

没有答案