使用multer将数组文件保存到MongoDB数据库中的步骤如下:
npm install multer mongoose
const multer = require('multer');
const mongoose = require('mongoose');
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/') // 指定文件存储的路径
},
filename: function (req, file, cb) {
cb(null, file.originalname) // 使用原始文件名作为文件名
}
});
const upload = multer({ storage: storage });
const fileSchema = new mongoose.Schema({
filename: String,
path: String
});
const File = mongoose.model('File', fileSchema);
app.post('/upload', upload.array('files'), function (req, res, next) {
const files = req.files;
// 将文件信息保存到MongoDB数据库中
files.forEach(function (file) {
const newFile = new File({
filename: file.originalname,
path: file.path
});
newFile.save(function (err) {
if (err) {
console.log(err);
}
});
});
res.send('文件上传成功!');
});
在上述示例中,我们使用upload.array('files')
来处理上传的文件数组。你可以根据实际情况调整参数。
这样,当你的应用程序收到一个文件上传请求时,multer将会处理文件上传,并将文件信息保存到MongoDB数据库中。
注意:上述示例中的代码仅为演示目的,实际应用中可能需要进行错误处理、文件类型验证等其他操作。
推荐的腾讯云相关产品:腾讯云对象存储(COS)可以作为存储文件的解决方案。你可以通过以下链接了解更多关于腾讯云COS的信息:腾讯云对象存储(COS)
希望以上信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云