Angularjs 如何使用angular js知道所选文件是否为图像?

Angularjs 如何使用angular js知道所选文件是否为图像?,angularjs,validation,base64,image-upload,parsley,Angularjs,Validation,Base64,Image Upload,Parsley,我正在使用AngularJS和ASP.NETMVC,并使用方法完成文件上传 它运行得很好,因为我想存储二进制数组,以便以后可以转换并将其设置回原位 但我面临的问题是验证所选的东西是否是图像 我找不到方法如何检查所选对象是否为图像 有人知道这件事吗 我也使用了欧芹js进行验证,但它是有角度的js。我如何使用欧芹来验证所选的东西是图像还是非图像或手动 angular.module('starter', []) .controller('Ctrl', function($scope

我正在使用AngularJS和ASP.NETMVC,并使用方法完成文件上传

它运行得很好,因为我想存储二进制数组,以便以后可以转换并将其设置回原位

但我面临的问题是验证所选的东西是否是图像

我找不到方法如何检查所选对象是否为图像

有人知道这件事吗

我也使用了欧芹js进行验证,但它是有角度的js。我如何使用欧芹来验证所选的东西是图像还是非图像或手动

    angular.module('starter', [])
      .controller('Ctrl', function($scope) {
        $scope.data = {}; //init variable
        $scope.click = function() { //default function, to be override if browser supports input type='file'
          $scope.data.alert = "Your browser doesn't support HTML5 input type='File'"
        }

        var fileSelect = document.createElement('input'); //input it's not displayed in html, I want to trigger it form other elements
        fileSelect.type = 'file';

        if (fileSelect.disabled) { //check if browser support input type='file' and stop execution of controller
          return;
        }

        $scope.click = function() { //activate function to begin input file on click
            fileSelect.click();
        }

        fileSelect.onchange = function() { //set callback to action after choosing file
          var f = fileSelect.files[0], r = new FileReader();    
          if(f.type === 'image/jpeg' || f.type === 'image/png') {
            console.log('The file type is ' + f.type);
             // do something here
          } else {
            console.log('The file type is ' + f.type);
            // do some other thing here
          }
          r.onloadend = function(e) { //callback after files finish loading
              $scope.data.b64 = e.target.result;
              $scope.$apply();                  console.log($scope.data.b64.replace(/^data:image\/(png|jpg);base64,/, "")); //replace regex if you want to rip off the base 64 "header"        
              //here you can send data over your server as desired
          }

            r.readAsDataURL(f); //once defined all callbacks, begin reading the file

        };


  });
或者可以动态地将accept=“image/*”属性设置为html元素


您的意思是要限制用户上传图像还是什么?如果是这种情况,您只能通过在html文件输入元素中添加accept=“image/*”属性来限制文件输入图像。@GavisiddaGadagi先生,我感谢您的回答,这是正确的,但我使用了不同类型的上载功能,请参阅问题中提供的链接。我要确认一下!