Как ограничить определенные типы файлов при загрузке файлов в Angular 6 - PullRequest
0 голосов
/ 19 ноября 2018

Я реализую функцию загрузки изображений, используя multer, angular 6, загрузчик ng2-файлов и nodeJs.Я хочу загружать только типы файлов ".png" и ".jpeg".Вот серверная часть.

/* UPLOAD image file */
router.post('/upload',function(req,res){

  var storage = multer.diskStorage({
    destination: (req, file, cb) => {
      cb(null, DIR);
    },
    filename: (req, file, cb) => {
      cb(null,file.fieldname+".jpg"); 
    },
  });
  var upload = multer({storage: storage,limits: { fileSize: 524288 }}).single('photo');

  upload(req,res,function(err) {
      if(err) {
          console.log(err);
          return res.end("Error uploading file.");
      } else {
           res.end("File has been uploaded");
      }
  });
});

Я хочу загрузить файлы .png и .jpg.Поэтому я ограничил другие расширения файлов из внешнего интерфейса.

  <input type="file" #fileInput name="photo" ng2FileSelect [uploader]="uploader" (change)="handleFileInput($event.target.files)"
  accept="image/jpeg, image/png" />

После ограничения других типов файлов сначала он отображает только необходимые файлы в проводнике (настраиваемые типы файлов).Но есть возможность выбрать все файлы в проводнике.Затем он показывает и другие типы файлов.Тогда это позволяет загружать и другие типы файлов.Я хочу ограничить загрузку файлов других типов, кроме .png и .jpeg.Есть ли правильный способ добиться этого.

...