我正在尝试使用multer上传多个文件,该文件将文件路径以及其他字段保存到mongodb。我使用单个文件上传,但是使用多个文件却没有成功。当我console.log请求时,我可以看到文件路径。没有路径存储在数据库中,这告诉我这与异步/等待有关。我对异步/等待不太满意,需要一些帮助。我遍历了多个站点,还有一些类似问题但没有成功的stackoverflow帖子。任何建议都将不胜感激。
这是上传路线
app.post('/admin/addDocument', helper.ensureAuthenticated, (req, res) => {
upload(req, res, (err) => {
if(err){
console.log(err);
req.flash('danger', 'File upload failed!');
return;
} else {
new Document({
document_type: req.body.document_type,
title: req.body.title,
author: req.body.author.split(","),
created_at: req.body.created_at,
description: req.body.description,
tag: req.body.tag,
path: req.files.path,
status: req.body.status
}).save((err, doc) => {
console.log(req);
if(err){
req.flash('danger', 'Data save failed!');
return;
} else {
req.flash('success', 'Document added');
res.redirect('/admin');
}
});
}
});
});
multer函数
const upload = multer({
storage: storage,
limits: {fileSize: 20000000},
fileFilter: (req, file, cb) => {
let ext = path.extname(file.originalname);
if(ext !== '.png' || ext !== '.jpg' || ext !== '.jpeg' || ext !== '.pdf'){
req.flash('danger', 'File type not allowed!');
}
cb(null, true)
}
}).array('fileupload', 2);
模型文件中的路径。我确实尝试使用path作为数组类型,但仍然没有骰子。
path:{
type: String,
required: false
},