FileReader方法读取文件数据,读取blob数据

335 阅读1分钟

FileReader接口提供了一个异步API,可以在浏览器异步访问文件系统,读取文件数据。

一、FileReader接口提供的方法

  1. readAsBinaryString,参数为file,可以将文件读取为二进制编码

  2. readAsText,参数file,可以将文件读取为文本

  3. readAsDataURL,参数file,将文件读取为DataURL

  4. abort,没有参数,中止读取文件操作

二、FileReader接口提供的事件

  1. onabort,中断事件

  2. onerror,读取文件错误事件

  3. onloadstart,开始读取文件事件

  4. onprogress,正在读取文件事件

  5. onload,读取成功事件

  6. 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>