node.js - multer 未定义 Req.files
问题描述
在我设法将图像保存在上传文件夹中之后。现在我无法将其保存在捐赠数据库中mongodb
folder router
const multer = require('multer')
var Storage = multer.diskStorage({
destination: function(req, file, callback) {
callback(null, "./public/uploads");
},
filename: function(req, file, callback) {
callback(null, file.originalname);
}
});
const upload = multer({
storage: Storage
}).fields([{name: "image1Upload", maxCount: 1}, {name: "image2Upload", maxCount: 1}]);
router.post('/ajouter-annonce', upload, AnnonceController.annoncePost
folder Controller
const annoncePost = (req, res, next) =>{
const url = req.protocol + '://' + req.get('host');
const {titreBien, description, email, address, Categories, EtatBien } = req.body
const saveAnnonce = new Annonce({
titreBien,
description,
email,
address,
Categories,
EtatBien,
image2Upload: url + '/public/uploads/' + req.files['image2Upload'][1]
})
// url + '/public/uploads/' + req.file.filename
console.log(saveAnnonce);
next()
console.log(
{
_id: 60185a53e2cdee45201b9334,
titreBien: 'deballage',
description: 'test',
email: 'ahmadanote26@gmail.com',
address: '24 Rue du maréchal juin',
Categories: 'Habillement',
EtatBien: 'Etat Neuf',
image2Upload: 'http://localhost:3000/public/uploads/undefined',
date: 2021-02-01T19:45:23.356Z
}
)
解决方案
您已为这两个文件设置了限制maxCount: 1
。
fields([{name: "image1Upload", maxCount: 1}, {name: "image2Upload", maxCount: 1}]);
在这里,您访问了image2Upload[1]
不存在的文件。应该写成下面这样
const saveAnnonce = new Annonce({
titreBien,
description,
email,
address,
Categories,
EtatBien,
image2Upload: url + '/public/uploads/' + req.files['image2Upload'][0].filename //file is present at position 0 as maxCount is only 1
})
推荐阅读
- python - discord.py 中的条件命令
- linux - 如何在脚本中获取“复制为 cURL”?
- c++ - 为什么预减量会引起奇怪的变化?
- autohotkey - 为什么我的脚本在尝试打开和关闭键时不会运行?
- sql - 查找具有相同值的 ID 的计数
- r - ksvm 无法识别预测值
- python - 在 Pandas 中用 NaN 替换多个列中的多个字符串和数字
- google-app-engine - 数据存储错误:BadValueError:预期的整数,得到 [0, 1, 2, 3]
- python - 指针派生类型的 f2py f90wrap 错误
- javascript - 从 JSON javascript 准备 JSON 树结构