FileReader
FileReader主要用於將文件內容讀入內存,通過一系列異步接口,可以在主線程中訪問本地文件。
方法
方法定義 | 描述 |
---|---|
abort():void | 終止文件讀取操作 |
readAsArrayBuffer(file):void | 異步按字節讀取文件內容,結果用ArrayBuffer對象表示 |
readAsBinaryString(file):void | 異步按字節讀取文件內容,結果為文件的二進制串 |
readAsDataURL(file):void | 異步讀取文件內容,結果用data:url的字符串形式表示 |
readAsText(file,encoding):void | 異步按字符讀取文件內容,結果用字符串形式表示 |
事件
事件名稱 | 描述 |
---|---|
onabort | 當讀取操作被中止時調用 |
onerror | 當讀取操作發生錯誤時調用 |
onload | 當讀取操作成功完成時調用 |
onloadend | 當讀取操作完成時調用,不管是成功還是失敗 |
onloadstart | 當讀取操作將要開始之前調用 |
onprogress | 在讀取數據過程中周期性調用 |
讀取方式(以讀取圖片為例)
readAsDataURL
readAsText
readAsBinaryString
readAsArrayBuffer
例子
Html
<div class="row"> <div class="col-md-2" style="padding:0;"> <a href="#" class="thumbnail" style="text-align:center;"> <img id="testimg" src="~/Content/kittens.jpg" /> <span >asdasdas</span> </a> </div> <div class="col-md-2" style="padding:0;"> <input type="file" id="SelectFile" /> </div> </div>
JavaScript
$("#SelectFile").bind("change", function () { var file = document.getElementById('SelectFile').files[0]; //選擇的文件對象 if (file) { var reader = new FileReader(); //實例化 reader.readAsDataURL(file); //加載 reader.onload = function () { var re = this.result; alert(file.name); //'文件'file.name '大小'file.size '修改'file.lastModifiedDate $("#testimg").attr("src", re); //賦值img } } })