Проверки типов файлов в многоязычном JavaScript - PullRequest
0 голосов
/ 10 октября 2018

Я загружаю свой файл, используя 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

остановить загрузку файла в мультиплеер, если проверка пользователя не удалась

...