2013-02-26 73 views
6

मैं जावास्क्रिप्ट के साथ शुरू कर रहा हूं और कुछ बुनियादी सिद्धांतों को समझने की कोशिश कर रहा हूं। प्रश्न विशेष रूप से फ़ाइल इंटरफ़ेस के बारे में नहीं हैं, लेकिन यह वही है जो मैं समझने की कोशिश कर रहा हूं।जावास्क्रिप्ट: फ़ाइल इंटरफेस को समझना

मेरी HTML फ़ाइल में मेरे पास फ़ाइल प्रकार इनपुट है।

<input type="file" id="fileInput" multiple/> 

तब मेरे जे एस फ़ाइल में मेरे पास है:

var fileVar = document.getElementById('fileInput').files[0]; 

यह ठीक काम करता है और filevar प्रकार File की है।

अब मैं समझने की कोशिश कर रहा हूं कि files विशेषताएँ कैसे काम करती हैं।

interface FileList { 
     getter File? item(unsigned long index); 
     readonly attribute unsigned long length; 
    }; 

मैं यह पता लगाने की मैं कैसे files का उपयोग करके FileList में अलग-अलग फ़ाइल का उपयोग कर सकते हैं कोशिश कर रहा हूँ:

डब्ल्यू 3 के रूप में परिभाषित किया गया है एपीआई। यह कहीं भी परिभाषित नहीं प्रतीत होता है। सरणी files कहां से आ रही है?

उत्तर

5

files संपत्ति FileList लौटाती है।

filesHTMLInputElement Interface की संपत्ति है, यानी <input> टैग के लिए डीओएम इंटरफ़ेस है। यह उन ब्राउज़रों द्वारा कार्यान्वित किया जाता है जो HTML5 फ़ाइल एपीआई का समर्थन करते हैं।

व्यक्तिगत फ़ाइलों तक पहुंचने के लिए आप उन्हें किसी भी अन्य सूची/ऐरे की तरह फिर से चालू कर सकते हैं। उदा .:

var files = element.files; //where `element` is a file input element reference 
//`files` references a FileList, you can iterate over it and access its File objects 
for (var i = 0; i < files.length; i++) { 
    console.log('File '+ i +"'s name = " + files[i].name + 
     '; size: ' + files[i].size + ' bytes'); 
} 

Demo

MDN using the File API के लिए एक अच्छी ट्यूटोरियल भी है।

+0

आपको बहुत बहुत धन्यवाद। मुझे पता नहीं था कि इसे डीओएम इंटरफ़ेस में परिभाषित किया गया है। मैं उस पर पढ़ूंगा। – madu