2013-02-26 25 views
6

Javascript kullanmaya başladım ve bazı temel bilgileri anlamaya çalışıyorum. Sorular özellikle Dosya arayüzü ile ilgili değil, anlamaya çalıştığım şey. Benim HTML dosyasındaJavascript: Dosya arayüzünü anlama

Bir dosya türü girişi var.

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

Sonra JS dosyasına Ben: Bu iyi çalışır ve filevar tip File taşımaktadır

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

.

Şimdi files nitelik nasıl çalıştığını anlamaya çalışıyorum. Ben files kullanarak tek tek dosya en FileList erişebileceği anlamaya çalışıyorum

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

: olarak

W3 API tanımlanır. Hiçbir yerde tanımlanmış gibi görünmüyor. files dizisi nereden geliyor?

cevap

5

files tesiste FileList döndürür.

files, HTMLInputElement Interface, yani <input> etiketleri için DOM arabiriminin bir özelliğidir. HTML5 Dosya API'sini destekleyen tarayıcılar tarafından uygulanır.

ki başka herhangi Liste/Array gibi onlara adımlayabilirsiniz bireysel dosyalara erişmek için. Örn .:

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 yanı using the File API için güzel öğretici vardır.

+0

Çok teşekkür ederim. DOM arayüzünde tanımlandığını bilmiyordum. Bunu okuyacağım. – madu