FileReader详解
FileReader API
提供了大量的方法来读取File
对象或Blob
对象,并且这些方法都是异步的。这意味着当程序读取文件时并不会发生阻塞,使用这些方法读取大文件将更加有用。
简单地说,FileReader
对象可以异步读取存储在开发者的计算机磁盘上的数据内容,可以使用File
对象或Blob
对象来指定所要处理的文件或数据。File
对象提供了三种方式来读取文件,第一种文件是读取用户在<input>
元素选择文件之后返回的FileList
对象,第二种方式是读取使用拖放API的方式自动生成的DataTransfer
对象,第三种方式是获取在HTML文档中的canvas上执行的mozGetAsFile()
方法后返回的对象。
首先创建一个FileReader
实例
var reader = new FileReader();
在控制台进行输出,可以看到
实例创建完成后,了解下FileReader
提供的方法。
readAsText()
方法可以用来读取文本文件,这个文件有两个参数,第一个参数用来读取File对象或Blob对象。第二个参数用来指定文件的编码,这是个可选参数,默认值为国际通用的UTF-8编码格式。
这个方法是一个异步方法,需要在文件加载完成时设置事件监听器。当调用onload
时间时,可以访问FileReader实例的result属性来获取文件的内容。对于FileReader提供的所有读取方法,开发者需要使用相同的方式获取内容。
reader.