博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
html5api(2)---(FileReader)
阅读量:6256 次
发布时间:2019-06-22

本文共 2505 字,大约阅读时间需要 8 分钟。

hot3.png

html5提供来的关于文件访问的接口,也就是说我们能够通过html5的api(FileReader)来进行文件的访问,我们能够读取文件的内容。

###基本的使用

if(!window.FileReader) { console.log('你的浏览器不支持FileReader') } var $file =document.getElementById('myFile'); var fileReader = new FileReader(); $file.addEventListener('change', function(e) { var files = e.target.files; if(files && files.length) { var file = files[0]; fileReader.readAsText(file); } }); fileReader.onerror = function(e) { console.log('文件读取失败!'); } fileReader.onload =function() { var $result =document.getElementById('result'); var result = this.result; $result.innerText = result; }

上面是一个简单的FileReader的使用的一个例子,首先在我们使用FileReader之前,先要判断浏览器是否支持FileReader,然后再进行操作。

###FileReader接口提供的方法, FileReader为我们提供了四个方法,其中有三个方法使用来进行文件的读取的,有一个方式是用来中断我们的文件读取的。

  1. readAsBinaryString(file) : 将文件读取为二进制编码,

  2. readAsText(file,[encoding]) : 将文件读取为文本,

  3. readAsDataURL(file) : 将文件读取为DataURL,

  4. abort(none) : 中断读取操作.

FileReader接口提供的事件

FileReader接口包含了一套完整的事件模型,用于捕获读取文件时的状态。

  1. onabort : 中断,

  2. onerror : 出错,

  3. onloadstart : 开始,

  4. onprogress : 正在读取,

  5. onload : 读取成功,

  6. onloadend : 读取完成,无论成功失败(无论成功失败)。

在我们上面的例子中我们使用了onerror以及onload这两个事件,在onload中我们通过使用this.result来获取读取的内容。

if(!window.FileReader) {        console.log('你的浏览器不支持FileReader')    }    var $imgFile = document.getElementById('imgFile');    var $binaryFile = document.getElementById('binaryFile');    var $textFile = document.getElementById('textFile');    var fileReader = new FileReader();    $imgFile.addEventListener('change', function(e) {        var files = e.target.files;        if(files && files.length) {            var file = files[0];            fileReader.readAsDataURL(file);        }    })    $binaryFile.addEventListener('change', function(e) {        var files = e.target.files;        if(files && files.length) {            var file = files[0];            fileReader.readAsBinaryString(file);        }    });    $textFile.addEventListener('change', function(e) {        var files = e.target.files;        if(files && files.length) {            var file = files[0];            fileReader.readAsText(file);        }    })    fileReader.onerror = function(e) {        console.log('文件读取失败!');    }    fileReader.onload =function() {        var $result =document.getElementById('result');        var result = this.result;        $result.innerText = result;    }// html代码

转载于:https://my.oschina.net/shuinian/blog/920069

你可能感兴趣的文章
PCA人脸识别学习笔记---代码篇
查看>>
grep
查看>>
归档备份被删,GoldenGate无法抽取数据
查看>>
Could not create the view: An unexpected exception was thrown.
查看>>
codeforces 445A
查看>>
基础语法
查看>>
多线程和CPU的关系
查看>>
005 -- DuLinkList_add nodes, delete node, Caser print..
查看>>
HashMap、TreeMap、LinkedHashMap、hashtable的区别
查看>>
ajax之百度 应用实例
查看>>
单行文本溢出、多文本溢出
查看>>
yarn的学习-2-从 npm 迁移到 yarn-包管理工具
查看>>
vagrant特性——基于docker开发环境(docker和vagrant的结合)-1-基本使用
查看>>
SQL 学习——简序以及学习路线
查看>>
Quoit Design
查看>>
iOS---后台运行机制详解
查看>>
python-装饰器的最终形态和固定格式 语法糖
查看>>
iphone配置实用工具iPhone Configuration Utility
查看>>
Centos搭建开发环境,PHP7+ Nginx1.12+ Mysql5.7
查看>>
RSA的密钥把JAVA格式转换成C#的格式
查看>>