如何发送没有图像(文件名)的表单



我测试了一个带有文件名的帖子,但在poster中,如果我不添加图像,那么我就有一个未定义的图像,这没关系。但如果图像没有通过null,我就无法发送它。

这是我的控制器,文件名为

module.exports.createComment  = async (req, res) => {
try {
if (!req.body.message) {
res.status(400).send({
message: "Content can not be empty!"
});
}
let { id, message, date, image} = req.body;
image = `${req.protocol}://${req.get("host")}/images/${req.file.filename}`,
Comment.create({
id, message, date, image
}).then((comment) => res.status(201).send(comment))
} catch (error) {
console.log(error);
return res.send(`Error: ${error}`);
}
};

Postman上没有图像的我的响应:错误:类型错误:无法读取未定义的属性"filename">

您应该检查req.file,因为访问filename。因为当你不通过它时,req.file将是无法访问filenameundefined

let { id, message, date, image } = req.body;
if (req.file) {
image = `${req.protocol}://${req.get("host")}/images/${req.file.filename}`
} else {
image = null;
}

最新更新