如何使用Angular-js

时间:2015-10-27 05:09:08

标签: javascript html css angularjs

使用angular-js进行图像文件验证。我想找出"是图像文件与否#34; ..这里比较文件的扩展名来识别文件是否正确..

但是我的代码不起作用!它没有显示任何错误。我真的很困惑

任何人都有这里的答案命令!..

提前致谢!

我的代码是

<HTML>
 <HEAD>
  <TITLE>Validate image on upload</TITLE>
  <script src = "angular.min.js"></script>
  <body>
<center>
<div ng-app="prabhu"  ng-controller="mycontroller">


    Upload an image: <INPUT type="file" name="image_file" ng-model="fil.name">  
    //<h1>the file is {{val.validate())}}</h1>
 <p ng-bind="val.validate()"> <p>
 </div>
</center>
<script >

 var myapp = angular.module("prabhu",[]);
 myapp.controller("mycontroller",function($scope){

    $scope.val={            
        ref = ['jpg','jpeg','png'],         
        validate:function(){

            name = fil.name | lowercase;
            length = name.length();
            ext = name.LastIndexOf(".")+1;          
            ext1 = name.substring(ext,length);          
            //k = 0;            
            for (k=0 ; k <= 4;k++){
                if(ref[k]==ext1){
                    return "valid File Format";

                }
                //else
                //  return "invalid File Format";
            }           
            return "invalid File Format";
        }
    }; 
 });
 </script>
</BODY>

</HTML>

2 个答案:

答案 0 :(得分:4)

Working fiddle.

据我所知,没有对文件上传控件的绑定支持。

<强> HTML:

    <input type="file" ng-model="image" onchange="angular.element(this).scope().uploadImage(this.files)" />       

在控制器中:

$scope.uploadImage = function (files) {           
       var ext = files[0].name.match(/\.(.+)$/)[1];
       if(angular.lowercase(ext) ==='jpg' || angular.lowercase(ext) ==='jpeg' || angular.lowercase(ext) ==='png'){
        alert("Valid File Format");
       }  
       else{
        alert("Invalid File Format");
       }       
    }

答案 1 :(得分:2)

  

我的要求是只选择图像文件!

尝试使用accept元素

上的input type="file"属性

&#13;
&#13;
<input type="file" accept="image/*" />
&#13;
&#13;
&#13;