Я загружаю свой файл, используя 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, это позволит.Я получу приложение / PDF в Mimetype, но в реальном файле не PDF.Я попытался file-type , но у меня нет никакого поля буфера в моем объекте файлов, так как я могу это проверить?
Я прочитал эти ссылки, но не могу заставить его работать
https://github.com/expressjs/multer/issues/114
остановить загрузку файла в мультиплеер, если проверка пользователя не удалась