在Angular 6中上传文件时如何限制某些文件类型

时间:2018-11-19 07:53:26

标签: node.js mean-stack multer

我正在使用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。有没有合适的方法来实现它。

0 个答案:

没有答案