【发布时间】:2018-09-04 01:52:33
【问题描述】:
我一直在尝试使用 Multer 上传两个不同的文件(图像和 pdf),但我不知道如何操作 fileFilter 中的文件。我想检查文件类型和大小 - 是否有效,然后获取 pdf 文件并将其存储在磁盘上,同时图像文件继续处理图像处理的另一个函数。 我是新手,尝试了很多指南,但没有一个显示这种情况。
提前感谢您的帮助。
Multer 和路由器的代码。还是有点粗糙,请多多包涵。
// multer configuration
const upload = multer({
storage: multer.memoryStorage(),
fileFilter (req, files, callback) {
const ext = path.extname(files.originalname);
if (ext !== '.png' && ext !== '.jpg' && ext !== '.jpeg' && ext !== '.pdf') {
return callback(new Error('Only images and pdf files allowed'));
}
callback(null, true);
},
limits: {
fileSize: 5242880,
}
}).fields([{ name: 'main image', maxCount: 1 }, { name: 'info packs', maxCount: 1 }]);
// router
router.post('/', upload, controller.addNewImage);enter code here
【问题讨论】:
标签: javascript node.js multer