FileReader
可以从 Blob
或者 File
对象中读取数据。
1.语法
创建一个实例:
js
var reader = FileReader()
2.方法
方法按照功能也分为两类:读取和操作。
- 读取功能。
readAsArrayBuffer()
、readAsText()
、readAsDataURL()
。 - 操作功能。
abort()
。
2-1.readAsArrayBuffer()
js
var blob = new Blob(['Hello', 'World'])
var reader = new FileReader()
reader.readAsArrayBuffer(blob)
reader.onload = function () {
console.log(this.result)
}
reader.onerror = function () {
console.log(this.error)
}
2-2.readAsText()
js
var blob = new Blob(['Hello', 'World'])
var reader = new FileReader()
reader.readAsText(blob)
reader.onload = function () {
console.log(this.result)
}
reader.onerror = function () {
console.log(this.error)
}
2-3.readAsDataURL()
js
var blob = new Blob(['Hello', 'World'])
var reader = new FileReader()
reader.readAsDataURL(blob)
reader.onload = function () {
console.log(this.result)
}
reader.onerror = function () {
console.log(this.error)
}
3.事件
需要使用事件来监听结果,因为从磁盘读取数据可能比较费时间。
可用事件有以下几种:
loadstart
开始加载。progress
加载中。load
加载成功。error
加载出错。loadend
加载完毕(无论是否出错)。abort
加载暂停。
读取完成后,我们可以通过以下方式访问读取结果:
reader.result
可用来获取成功信息。
reader.error
可用来获取失败信息。