Node.js 使用multer在mongodb中保存多个文件
我正在创建一个p2p电子商务平台,我需要帮助保存图像,目前我基本上有两个问题。 1.)我的第一个问题是保存图像。。。假设我有一个猫鼬产品模型,如下所示:Node.js 使用multer在mongodb中保存多个文件,node.js,mongodb,express,multer,Node.js,Mongodb,Express,Multer,我正在创建一个p2p电子商务平台,我需要帮助保存图像,目前我基本上有两个问题。 1.)我的第一个问题是保存图像。。。假设我有一个猫鼬产品模型,如下所示: title: { type: String, required: true }, subtitle: { type: String }, productImage: [ { imageUrl: { type: String, required: true
title: {
type: String,
required: true
},
subtitle: {
type: String
},
productImage: [
{
imageUrl: {
type: String,
required: true
}
}
],
details: {
modelNumber: {
type: String
}
现在我想将多个图像保存到一个产品中,以便以后可以使用旋转木马,因此我遇到了一个问题,我不知道如何执行此操作,我目前已经编写了此代码来保存图像
const storage = multer.diskStorage({
destination: function (req, file, cb) {
const dir = './uploads';
// create uploads
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
cb(null, dir);
},
filename: function (req, file, cb) {
cb(null, file.originalname + '-' + Date.now());
}
});
let upload = multer({
storage,
limits: {
fileSize: 1024 * 1024 * 10
},
fileFilter
}).array('productImage', 4);
router.post("/products", auth, uploads, async(req, res) =>{
try{
const product = new Product({
title: req.body.title,
subtitle: req.body.subtitle,
productImage: [{imageUrl: req.file.path}],
blah blah
})
}catch{
blah blah
}
})
基本上,我认为我为一个产品保存多个文件的做法是错误的,所以我想知道这可以做得更好,或者我是否应该重新构建我的模型或任何其他解决方案
2.)我有一个问题,因为我正在使用express validator检查我的字段。当我以表单数据发送请求时,即使字段中填充了正确的数据,字段上也会出现错误。。。有什么我可以纠正的吗
谢谢您…我们非常需要任何帮助将变量上载更改为上载。您确定这是问题所在吗?这是其中之一。您正在调用一个不存在的变量
router.post(“/products”,auth,uploads,…
将变量upload更改为uploads。您确定这是问题吗?这是其中之一。您正在调用一个不存在的变量。router.post(“/products”,auth,uploads,…