色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript filelist

衛(wèi)若男1年前10瀏覽0評論

JavaScript作為前端開發(fā)語言的重要組成部分,負責實現(xiàn)與用戶互動以及頁面效果等各種功能。而處理本地文件操作也是其中的一項常見需求,而在處理文件上傳時,F(xiàn)ileList對象成為必不可少的一環(huán)。

FileList對象是由file控件元素選擇文件后,瀏覽器自動生成的對象。FileList對象本身是一個類數(shù)組(Array-like)的數(shù)據(jù)結(jié)構(gòu),可以包含一個或者多個File對象,并提供了一些基本的方法供開發(fā)者進行文件操作。

我們來看一個具體的例子來說明FileList的應(yīng)用,以下是一段實現(xiàn)批量上傳的代碼:

function uploadFiles(files) {
var formData = new FormData()
for (var i = 0; i< files.length; i++) {
formData.append('files[]', files[i])
}
//發(fā)送請求,上傳文件
//...
}
var input = document.querySelector('#file-input')
input.addEventListener('change', function() {
var files = this.files
uploadFiles(files)
})

上述代碼中,我們首先通過`document.querySelector('#file-input')`獲取到了文件上傳的input元素,然后給它綁定了一個`'change'`事件處理函數(shù)。當用戶選擇了文件后,觸發(fā)了`'change'`事件,我們通過`this.files`獲取到了上傳的文件列表。接著,我們創(chuàng)建了一個FormData對象,將每個文件遍歷至FormData對象中,最后通過發(fā)送請求上傳文件。

接下來我們再來看看FileList對象的具體屬性和方法。

屬性

FileList.length

FileList對象的length屬性,表示一個FileList對象包含的File對象的數(shù)量。例如:

var input = document.querySelector('#file-input')
console.log(input.files.length) // 輸出選擇文件個數(shù)

方法

FileList.item(index)

FileList對象提供的item()方法,用于獲取指定位置的File對象,其中index代表一個0-based的索引值。例如:

var input = document.querySelector('#file-input')
var files = input.files
var firstFile = files.item(0)
console.log(firstFile.name) // 輸出第一個文件的文件名

FileList.entries()

FileList對象提供的entries()方法,返回一個迭代器對象,迭代器每次遍歷時返回一個數(shù)組,該數(shù)組的第一個元素是文件的索引值,第二個元素是File對象本身。例如:

var input = document.querySelector('#file-input')
var files = input.files
var iterator = files.entries()
for (let [index, file] of iterator) {
console.log('第 ' + index + ' 個文件的文件名為:', file.name)
}

FileList.values()

FileList對象提供的values()方法,返回一個迭代器對象,迭代器每次遍歷時返回一個File對象。例如:

var input = document.querySelector('#file-input')
var files = input.files
var iterator = files.values()
for (let file of iterator) {
console.log('文件名為:', file.name)
}

FileList.forEach()

FileList對象提供的forEach()方法,迭代遍歷每一個File對象,并執(zhí)行指定的回調(diào)函數(shù)。例如:

var input = document.querySelector('#file-input')
var files = input.files
files.forEach(function(file, index, fileList) {
console.log('第 ' + index + ' 個文件的文件名為:', file.name)
})

上述內(nèi)容便是關(guān)于JavaScript中FileList對象的介紹,希望本文能夠幫助到你在日常前端開發(fā)中的使用。