使用Multer添加数组



我使用multer将图像数组添加到我的产品文档中,我将正确的名称添加到uploads文件夹中,但在postman中查找不到名称。

这是我试过的代码:

router.put(
"/gallery-images/:id",
uploadOptions.array("images", 10),
async (req, res) => {
if (!mongoose.isValidObjectId(req.params.id)) {
res.status(400).send("Invalid product ID");
} //product ID validation
const files = req.files;
let imagesPaths = [];
const basePath = `${req.protocol}://${req.get("host")}/public/upload/`;
if (files) {
files.map((file) => {
imagesPaths.push(`${basePath}${file.fileName}`);
console.log("uhu", file);
});
}
let product = await Product.findByIdAndUpdate(
req.params.id,
{
images: imagesPaths,
},
{ new: true }
);
if (!product) return res.status(500).send("The product cannot be updated");
res.send(product);
}
);

这个改变起作用了:

const basePath = `${req.protocol}://${req.get("host")}/public/upload/`;
if (files) {
// files.map((file) => {
//   imagesPaths.push(`${basePath}${file.fileName}`);
// });
imagesPaths = files.map((file) => {
const fileName = file.filename;
return `${basePath}${fileName}`;
});
}

最新更新