2014-06-11 9 views
6

में अपलोड की गई फ़ाइल प्रकार का पता लगाने के लिए मेरे पास angularJS का उपयोग करके केवल छवि फ़ाइल अपलोड करने का एक फ़ॉर्म है। फाइल अपलोड करना ठीक काम कर रहा है। समस्या यह है कि, मैं अपलोड की गई फ़ाइल को केवल छवि फ़ाइल और छवि के आकार को कुछ एमबी होने के लिए प्रतिबंधित करना चाहता हूं। मैं केवल कोणीय जेएस का उपयोग करके इसे कैसे प्राप्त कर सकता हूं? नीचे कोडangularJS

$scope.uploadFile = function(files) { 
    var fd = new FormData(); 
    //Take the first selected file 
    fd.append("file", files[0]); 

    $http.post("logoTypesServiceStore", fd, { 
     withCredentials: true, 
     headers: {'Content-Type': undefined }, 
     transformRequest: angular.identity 
    }).success(function(data) {alert(data); }).error(function(data) { alert(data)}); 

}; 

नीचे फ़ाइल अपलोड करने का फ़ॉर्म है।

<form name="logoTypeForm" novalidate> 
    <input type="text" name="logoType" ng-model="logoType" class="form-control" required /> 
    <input type="file" name="file" onchange="angular.element(this).scope().uploadFile(this.files)"/> 

</form> 

उत्तर

10

आधुनिक ब्राउज़रों में फ़ाइल एपीआई support है।

$scope.uploadFile = function(files) { 
    files[0].type; //MIME type 
    files[0].size; //File size in bytes 
}; 

Here छवि MIME प्रकार की एक सूची है

+0

Hii @LostInComputer ... कोणीय जेएस के लिए नया हूँ .. क्या आप कृपया मुझे संक्षेप में बता सकते हैं, फ़ाइल एक्सटेंशन और फ़ाइल आकार को सत्यापित करने के लिए इनका उपयोग कैसे करें ?? – phpfresher

+0

मेरे लिए काम किया। धन्यवाद – Damith

2

मैं पहले से ही फाइलों तुम इतनी तरह अपने input टैग के भीतर accpet चाहते हैं निर्दिष्ट करने के लिए सिफारिश करेंगे:

<input type="file" name="files" accept="image/*"> 

इनपुट टैग के लिए W3Schools संदर्भ की जाँच अधिक जानकारी के लिए।

+0

नहीं 100% के लिए एक अच्छा विचार: उपयोगकर्ता का नाम बदलने सकता है यह myFile.jpg को भी ब्राउज़र अभी भी चयन प्रकार में विकल्प "सभी फाइलों" होगा hacky फ़ाइल है – brabertaser19