我正在尝试创建一个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
。