FileReader 对象允许 Web 应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。
使用 FileReader() 构造器去创建一个新的 FileReader。
var reader = new FileReader();
返回读取文件时的错误信息
var error = instanceOfFileReader.error
返回一个 DOMError
提供 FileReader 读取操作时的当前状态。
var state = instanceOfFileReader.readyState
state一个数字,用来表示 FileReader 的三种可能状态。
返回文件的内容。只有在读取操作完成后,此属性才有效,返回的数据的格式取决于是使用哪种读取方法来执行读取操作的。
var file = instanceOfFileReader.result
一个字符串或者一个ArrayBuffer ,这取决于读取操作是使用哪种方法来进行的。
该方法可以取消 FileReader 的读取操作,触发之后 readyState 为已完成(DONE)。
instanceOfFileReader.abort();
FileReader 接口提供的 readAsArrayBuffer() 方法用于启动读取指定的 Blob 或 File 内容。当读取操作完成时,readyState 变成 DONE(已完成),并触发 loadend 事件,同时 result 属性中将包含一个 ArrayBuffer 对象以表示所读取文件的数据。
instanceOfFileReader.readAsArrayBuffer(blob);
readAsDataURL 方法会读取指定的 Blob 或 File 对象。读取操作完成的时候,readyState 会变成已完成DONE,并触发 loadend 事件,同时 result 属性将包含一个data:URL 格式的字符串(base64 编码)以表示所读取文件的内容。
instanceOfFileReader.readAsDataURL(blob);
readAsText 方法可以将 Blob 或者 File 对象转根据特殊的编码格式转化为内容 (字符串形式)
这个方法是异步的,也就是说,只有当执行完成后才能够查看到结果,如果直接查看是无结果的,并返回 undefined
也就是说必须要挂载 实例下的 onload 或 onloadend 的方法处理转化后的结果
当转化完成后, readyState 这个参数就会转换 为 done 即完成态, event(“loadend”) 挂载的事件会被触发,并可以通过事件返回的形参得到中的 FileReader.result 属性得到转化后的结果
instanceOfFileReader.readAsText(blob[, encoding]);
blob
Blob 类型 或 File 类型
encoding (可选)
传入一个字符串类型的编码类型,如缺省,则默认为“utf-8”类型
在中止读取时会触发 abort 事件:例如程序调用 abort()。
当由于错误(例如,文件未找到或不可读)导致读取失败时,将触发error事件。
当文件成功读取时,执行load 事件
当文件读取完成(成功与否)时触发loadend事件。
当文件读取操作开始时触发loadstart事件。
当FileReader读取数据时,进度事件会定期触发。
如果你感觉文章不咋地
//(ㄒoㄒ)//
,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L;~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※
!!!