使用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>
答案 0 :(得分:4)
据我所知,没有对文件上传控件的绑定支持。
<强> 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"
属性
<input type="file" accept="image/*" />
&#13;