FileReader接口提供了一个异步API,可以在浏览器异步访问文件系统,读取文件数据。
一、FileReader接口提供的方法
-
readAsBinaryString,参数为file,可以将文件读取为二进制编码
-
readAsText,参数file,可以将文件读取为文本
-
readAsDataURL,参数file,将文件读取为DataURL
-
abort,没有参数,中止读取文件操作
二、FileReader接口提供的事件
-
onabort,中断事件
-
onerror,读取文件错误事件
-
onloadstart,开始读取文件事件
-
onprogress,正在读取文件事件
-
onload,读取成功事件
-
onloadend,读取完成(无论成功失败)
三、使用场景
1、后端接口返回一个blob文件,要读取里面的内容
// 后端请求接口 res为后端放回的数据
authorizerSubmit().then(res => {
var reader = new FileReader();
// 以文本的方式读取blob文件
reader.readAsText(res);
reader.onload = function(event) {
var objectData = reader.result //内容就在这里
}
})
2、读取本地文件
<script>
function readFile(){
var file = document.getElementById("file").files[0];
var reader = new FileReader();
// 以二进制的形式读取文件
reader.readAsBinaryString(file);
reader.onload=function(e){
var objectData = reader.result //内容就在这里
}
}
</script>
<body>
<input type="file" id="file"/>
<input type="button" onClick="readFile()"/>
</body>