FileReader
属性:
error
readyState:表示FileReader的状态
0:没有加载任何数据 EMPTY
1:数据正在被加载 LOADING
2:已完成全部的读取请求 DONE
resule:文件处理的结果(取决于用哪种方式来读取文件)
事件:
onloadstart:读取文件开始时触发
onprogress:读取过程中触发,会返还本次读取文件的最大字节数和已经读取完毕的字节数,可以用来做进度条
onabort:在读取中断时触发
onerror:在读取文件失败时触发
onload:在读取完成时触发
onloadend:读取结束后触发,不论成功还是失败都会触发,触发时机在onload之后
方法:
abort:终止读取操作
readAsBinaryString:这个方法获取的结果是原始二进制数据,不能直接使用,还需要做一些转换
readAsArrayBuffer:result 属性中将包含一个 ArrayBuffer 对象作为所读取文件的数据
readAsDataURL:result 属性中将包含一个 URL格式的Base64字符串作为所读取文件的数据
readAsText:result 属性中将包含一个字符串作为所读取的文件内容
提示:
1.因为FileReader的操作都是异步的,所以以下写法不能返回值
let fileReader = new FileReader()
let url = fileReader.readAsDataURL(file.file)
console.log(url)
需要在他自身的处理事件上边回调获取
let fileReader = new FileReader()
fileReader.readAsDataURL(file.file)
fileReader.οnlοad=()=>{
console.log(fileReader.result)
}
2.abort方法结束后FileReader的状态是DONE,所以可以在onload中获取已读的数据