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 } } })