【发布时间】:2021-03-24 22:51:27
【问题描述】:
我想从同一个集合的多个字段上传图片。我可以使用一个字段上传。
路由:service.js
router.post('/register', upload.array('daycare.DCImage',10),(req, res) => {
var paths = req.files.map(file => file.path)
const newService = new Services(req.body);
newService.daycare.DCImage = paths
newService
.save(newService)
.then(data => {
res.send(data);
})
.catch(err => {
res.status(500).send({
message:
err.message || "Some error occurred while creating the Service."
});
});
})
像 daycare.DCImage 我想做 grooming.groomingImage、trainer.TrainingImage、dogwalker.DWImage , breeding.breedingImages 字段也便于上传图片。
此代码目前运行良好,如何更改代码以获得所需的功能?
我尝试包含额外的 upload.array() 之类的
router.post('/register', upload.array('daycare.DCImage',10), upload.array('grooming.GroomingImage',10 ), upload.array('dogwalker.DWImage', 10) , upload.array('trainer.TrainingImage', 10 ), upload.array('breeding.breedingImage', 10) ,(req, res) )
以及同一个upload.array()中的其他字段
router.post('/register', upload.array('daycare.DCImage', 'grooming.GroomingImage', 'trainer.TrainingImage' , 'breeding.breedingImage', 10),(req, res) )
但它不起作用。
这是模型 service.js
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const User = require('./User');
const ServiceSchema = new Schema({
daycare : {
description : {type : String},
DCImage : [{type : String}],
additionalServices : {type : String},
},
grooming : {
description : {type : String},
GroomingImage : [{type : String}],
additionalServices : {type : String},
},
dogwalker : {
description : {type : String},
DWImage : [{type : String}],
additionalServices : {type : String},
},
trainer : {
description : {type : String},
TrainingImage : [{type : String}],
price : {
daily : {type : String},
weekly : {type : String},
monthly : {type : String}
},
additionalServices : {type : String},
},
breeding : {
breed : {type : String},
age : {type : String},
breedingImages:[{type:String}],
},
});
module.exports = Services = mongoose.model('Services', ServiceSchema);
【问题讨论】:
标签: node.js mongodb express multer