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 相关文章推荐
CSS教程:CSS3圆角属性
Apr 02 HTML / CSS
CSS3新属性transition-property transform box-shadow实例学习
Jun 06 HTML / CSS
可以随进度显示不同颜色的css3进度条分享
Apr 11 HTML / CSS
CSS3制作酷炫的三维相册效果
Jul 01 HTML / CSS
HTML5实现Notification API桌面通知功能
Mar 02 HTML / CSS
html5 localStorage本地存储_动力节点Java学院整理
Jul 06 HTML / CSS
基于HTML5 audio元素播放声音jQuery小插件
May 11 HTML / CSS
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
Dec 13 HTML / CSS
HTML5 Canvas draw方法制作动画效果示例
Jul 11 HTML / CSS
HTML5实现获取地理位置信息并定位功能
Apr 25 HTML / CSS
使用HTML5 Canvas为图片填充颜色和纹理的教程
Mar 21 HTML / CSS
canvas实现漂亮的下雨效果的示例
Apr 18 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不允许用户提交空表单(php空值判断)
2013/11/12 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
重定向实现代码
2006/11/20 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
使用python实现省市三级菜单效果
2016/01/20 Python
python是否适合网页编程详解
2019/10/04 Python
python 操作hive pyhs2方式
2019/12/21 Python
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
Araks官网:纽约内衣品牌
2020/10/15 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
税务专业毕业生自荐信
2013/11/10 职场文书
物流仓管员工作职责
2014/01/06 职场文书
党支部书记先进事迹
2014/01/17 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
黄继光的英雄事迹材料
2014/02/13 职场文书
数学检讨书1000字
2014/02/24 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
医学检验专业自荐信
2014/09/18 职场文书
2014年创卫工作总结
2014/11/24 职场文书