javascript文件操作


獲取原生files對象

 

FileReader對象

FileReader 的實例擁有 4 個方法,其中 3 個用以讀取文件,另一個用來中斷讀取。下面的表格列出了這些方法以及他們的參數和功能,

需要注意的是 ,無論讀取成功或失敗,方法並不會返回讀取結果,這一結果存儲在 result屬性中。

方法名

參數

描述

abort

none

中斷讀取

readAsBinaryString

file

將文件讀取為二進制碼

readAsDataURL

file

將文件讀取為 DataURL

readAsText

file, [encoding]

將文件讀取為文本

 

 

 

 

 

 

 

 

 

 

 

 

 

readAsText該方法有兩個參數,其中第二個參數是文本的編碼方式,默認值為 UTF-8。這個方法非常容易理解,將文件以文本方式讀取,讀取的結果即是這個文本文件中的內容。
readAsBinaryString該方法將文件讀取為二進制字符串,通常我們將它傳送到后端,后端可以通過這段字符串存儲文件。
readAsDataURL這是例子程序中用到的方法,該方法將文件讀取為一段以 data: 開頭的字符串,這段字符串的實質就是 Data URL,Data URL是一種將小文件直接嵌入文檔的方案。這里的小文件通常是指圖像與 html 等格式的文件。(其中base64的方式就是由此來獲得的。。)

FileReader 包含了一套完整的事件模型,用於捕獲讀取文件時的狀態,下面這個表格歸納了這些事件。

事件

描述

onabort

中斷時觸發

onerror

出錯時觸發

onload

文件讀取成功完成時觸發

onloadend

讀取完成觸發,無論成功或失敗

onloadstart

讀取開始時觸發

onprogress

讀取中

 

 

 

 

 

 

 

 

 

 

 

 

 

文件一旦開始讀取,無論成功或失敗,實例的 result 屬性都會被填充。如果讀取失敗,則 result 的值為 null ,否則即是讀取的結果,絕大多數的程序都會在成功讀取文件的時候,抓取這個值。

 

 案例

實現圖片實時更新

$('#myfile').change(function () {
        let file_obj = this.files[0];
        let fileReader = new FileReader();
        console.log(fileReader);
        fileReader.readAsDataURL(file_obj);
        fileReader.onload = function () {
            $('#id_img').attr('src', fileReader.result);
        }
    });

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM