FileReader方法


FileReader接口可使web程序異步讀取用戶電腦上文檔的內容(或原始數據緩沖區),使用File或是Blob對象來指定需要讀取的文件或數據。
 
File對象可以通過多種方式獲得:用戶使用<input>元素在文件列表中選擇;通過拖放的操作使用DataTransfer對象獲取;也可使用HTMLCanvasElement中的mozGetAsFile()接口獲取。
 
構造函數
FileReader() 返回一個新建FileReader
 
屬性
FileReader.error(只讀): 一個DOMError接口反映了讀取文件過程中的錯誤。
 
FileReader.readyState(只讀):一個表明了FileReader狀態的數字,數字列表如下:
 
EMPTY 0 沒有數據加載
LOADING 1 數據正在加載
DONE 2 全部讀取請求已完成
 
 
 
 
FileReader.result(只讀):被選定文件的內容。這個屬性在讀取操作完成后才可用,數據格式取決於初始化讀取操作時選擇的方法。
 
事件處理程序
 
FileReader.onabort: 中斷事件的處理程序,讀取操作被中止觸發該事件。
FileReader.onerror:錯誤事件的處理程序,讀取操作時每次遇到錯誤觸發該事件。
FileReader.onload:加載事件的處理程序,讀取操作成功完成時觸發該事件。
FileReader.onloadstart:加載開始事件的處理程序,讀取操作開始時觸發該事件。
FileReader.onloadend:加載結束事件的處理程序,讀取操作完成時觸發該事件(不管是成功還是失敗)。
FileReader.onprogress:事件進展的處理程序,讀取Blob內容時觸發該事件。
 
方法
FileReader.abort():中斷讀取操作,readyState返回2。
FileReader.readAsArrayBuffer():使用指定的二進制對象來讀取內容,使用數組緩沖器來展示文件數據。
FileReader.readAsBinaryString():使用指定的二進制對象來讀取內容,使用原始二進制字符串來展示文件數據。
FileReader.readAsArrayBuffer():使用指定的二進制對象來讀取內容,使用URL來展示文件數據。
FileReader.readAsArrayBuffer():使用指定的二進制對象來讀取內容,使用文本字符串來展示文件數據。
 
angularjs示例:
app.directive("fileread", [function () {
    return {
        scope: {
            fileread: "="
        },
        link: function (scope, element, attributes) {
            element.bind("change", function (changeEvent) {
var reader = new FileReader(); reader.onload = function (loadEvent) { scope.$parent.import(loadEvent.target.result); } reader.readAsText(changeEvent.target.files[0]); }); } } }]);

 


免責聲明!

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



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