h5獲取filelist對(duì)象

1:通過(guò) file控件


2:通過(guò)拖拽

3:fileList對(duì)象繼承自Blob對(duì)象(h5中提供的二進(jìn)制處理對(duì)象)

? ? 一:生成 Blob 對(duì)象有兩種方法:一種是使用 Blob 構(gòu)造函數(shù),另一種是對(duì)現(xiàn)有的 Blob 對(duì)象使用 slice 方法切出一部分。


通過(guò)構(gòu)造函數(shù)獲取


通過(guò)slice截取

blog對(duì)象自身只有兩個(gè)只讀屬性,size和type。

blob的構(gòu)造函數(shù)(a,b)a參數(shù)代表數(shù)據(jù),b參數(shù)為一個(gè)object包含兩個(gè)屬性分別為type -- MIME 的類型。endings -- 決定 append() 的數(shù)據(jù)格式,(數(shù)據(jù)中的 \n 如何被轉(zhuǎn)換)可以取值為 "transparent" 或者 "native"(t* 的話不變,n* 的話按操作系統(tǒng)轉(zhuǎn)換;t* 為默認(rèn))

3:filereader對(duì)象

FileReader API 才是我們接下去完成一些任務(wù)的關(guān)鍵。FileReader API 用于讀取文件,即把文件內(nèi)容讀入內(nèi)存。它的參數(shù)是 File 對(duì)象或 Blob 對(duì)象

一:該對(duì)象擁有三種方法分別用來(lái)讀取不同類型的文件

????readAsText(Blob|File, opt_encoding):返回文本字符串。默認(rèn)情況下,文本編碼格式是 UTF-8,可以通過(guò)可選的格式參數(shù),指定其他編碼格式的文本。

????readAsDataURL(Blob|File):返回一個(gè)基于 Base64 編碼的 data-uri 對(duì)象。

????readAsArrayBuffer(Blob|File):返回一個(gè) ArrayBuffer 對(duì)象。

二:FileReader API 還有一個(gè) abort 方法,用于中止文件上傳。

三:該對(duì)象是通過(guò)一步的方式讀取文件的


4:url對(duì)象

? ? 一:獲取方法

? ??????var objecturl = window.URL.createObjectURL(blob|file);

? ? 二:用途

? ? ? ? 該對(duì)象生成的值可以用來(lái)作為任意一個(gè)擁有url(src/href)屬性的標(biāo)簽,需要注意的是,即使是同樣的二進(jìn)制數(shù)據(jù),每調(diào)用一次 URL.createObjectURL 方法,就會(huì)得到一個(gè)不一樣的 URL

? ? 三:使得該url失效

? ? ? ? 1:刷新頁(yè)面。2:window.URL.revokeObjectURL(objectURL);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容