我正在使用multer上传文件。这是我的multer代码
const multer = require('multer');
const maxSize = 2 * 1024 * 1024;
const fileType = require('file-type');
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, 'uploads')
},
filename: (req, file, cb) => {
cb(null, file.fieldname + '-' + Date.now() + '.pdf')
},
});
const upload = multer({
storage: storage,
fileFilter: (req, file, cb) => {
if (!file.originalname.match(/\.pdf$/)) {
return cb(new Error('Only pdf files are allowed!'), false);
}
cb(null, true);
},
limits: { fileSize: maxSize
});
此代码正在运行,我只想上传pdf文件。此代码将检查扩展名,但是如果我将任何其他文件的扩展名更改为pdf,它将允许它。我将获得mimetype中的application / pdf,但实际文件中不是pdf。我已经尝试过file-type,但是我的文件对象中没有任何缓冲区字段,那么如何验证呢?
我已经阅读了这些链接,但无法正常工作