HTML5中FileReader接口使用方法实例详解


Posted in HTML / CSS onAugust 26, 2017

用来把文件读入内存,并且读取文件中的数据。FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据。到目前文职,只有FF3.6+和Chrome6.0+实现了FileReader接口。

1、FileReader接口的方法

FileReader接口有4个方法,其中3个用来读取文件,另一个用来中断读取。无论读取成功或失败,方法并不会返回读取结果,这一结果存储在result属性中。

FileReader接口的方法

方法名 参数 描述
readAsBinaryString file 将文件读取为二进制编码
readAsText file,[encoding] 将文件读取为文本
readAsDataURL file 将文件读取为DataURL
abort (none) 终端读取操作

2、FileReader接口事件

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

FileReader接口的事件

事件 描述
onabort 中断
onerror 出错
onloadstart 开始
onprogress 正在读取
onload 成功读取
onloadend 读取完成,无论成功失败

3、FileReader接口的使用

<script type="text/javascript">  
var result=document.getElementById("result");  
var file=document.getElementById("file");  
//判断浏览器是否支持FileReader接口  
if(typeof FileReader == 'undefined'){  
    result.InnerHTML="<p>你的浏览器不支持FileReader接口!</p>";  
    //使选择控件不可操作  
    file.setAttribute("disabled","disabled");  
}  
function readAsDataURL(){  
    //检验是否为图像文件  
    var file = document.getElementById("file").files[0];  
    if(!/image\/\w+/.test(file.type)){  
        alert("看清楚,这个需要图片!");  
        return false;  
    }  
    var reader = new FileReader();  
    //将文件以Data URL形式读入页面  
    reader.readAsDataURL(file);  
    reader.onload=function(e){  
        var result=document.getElementById("result");  
        //显示文件  
        result.innerHTML='<img src="' + this.result +'" alt="" />';  
    }  
}  
function readAsBinaryString(){  
    var file = document.getElementById("file").files[0];  
    var reader = new FileReader();  
    //将文件以二进制形式读入页面  
    reader.readAsBinaryString(file);  
    reader.onload=function(f){  
        var result=document.getElementById("result");  
        //显示文件  
        result.innerHTML=this.result;  
    }  
}  
function readAsText(){  
    var file = document.getElementById("file").files[0];  
    var reader = new FileReader();  
    //将文件以文本形式读入页面  
    reader.readAsText(file);  
    reader.onload=function(f){  
        var result=document.getElementById("result");  
        //显示文件  
        result.innerHTML=this.result;  
    }  
}  
</script>  
<p>  
    <label>请选择一个文件:</label>  
    <input type="file" id="file" />  
    <input type="button" value="读取图像" onclick="readAsDataURL()" />  
    <input type="button" value="读取二进制数据" onclick="readAsBinaryString()" />  
    <input type="button" value="读取文本文件" onclick="readAsText()" />  
</p>  
<div id="result" name="result"></div>

总结

以上所述是小编给大家介绍的HTML5中FileReader接口使用方法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

HTML / CSS 相关文章推荐
CSS3实现的闪烁跳跃进度条示例(附源码)
Aug 19 HTML / CSS
浅谈css3中的前缀
Jul 20 HTML / CSS
利用css3画个同心圆示例代码
Jul 03 HTML / CSS
localStorage 设置过期时间的方法实现
Dec 21 HTML / CSS
用HTML5 实现橡皮擦的涂抹效果的教程
May 11 HTML / CSS
使用HTML5的表单验证的简单示例
Sep 09 HTML / CSS
详解HTML5 data-* 自定义属性
Jan 24 HTML / CSS
canvas实现二维码和图片合成的示例代码
Aug 01 HTML / CSS
three.js模拟实现太阳系行星体系功能
Sep 03 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
Dec 23 HTML / CSS
HTML中的表单Form实现居中效果
May 25 HTML / CSS
常用的文件对应的MIME类型汇总
Apr 26 HTML / CSS
html5使用canvas实现图片下载功能的示例代码
Aug 26 #HTML / CSS
html5+CSS3+JS实现七夕言情功能代码
Aug 28 #HTML / CSS
html5使用html2canvas实现浏览器截图的示例
Aug 31 #HTML / CSS
前端面试必备之html5的新特性
Sep 05 #HTML / CSS
html5仿支付宝密码框的实现代码
Sep 06 #HTML / CSS
HTML5 本地存储实现购物车功能
Sep 07 #HTML / CSS
HTML5 FormData 方法介绍以及实现文件上传示例
Sep 12 #HTML / CSS
You might like
php写的简易聊天室代码
2011/06/04 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
jquery获取css中的选择器(实例讲解)
2013/12/02 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
咨询公司各岗位职责
2013/12/02 职场文书
大四本科生的自我评价
2013/12/30 职场文书
教师党性分析材料
2014/02/04 职场文书
产品售后服务承诺书
2014/05/21 职场文书
学生干部培训方案
2014/06/12 职场文书
好的促销活动方案
2014/08/21 职场文书
医学生自荐信范文
2015/03/05 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
加班费申请报告
2015/05/15 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
Python 实现Mac 屏幕截图详解
2021/10/05 Python
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang