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垂直手风琴菜单
Jun 28 HTML / CSS
Web页面中八种创建多列等高(等高列布局)的实现技术
Dec 24 HTML / CSS
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
Dec 28 HTML / CSS
css3学习心得分享
Aug 19 HTML / CSS
html5 分层屏幕适配的方法
Mar 16 HTML / CSS
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
Jan 31 HTML / CSS
详解HTML5中ol标签的用法
Sep 08 HTML / CSS
HTML5 canvas基本绘图之图形组合
Jun 27 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
Mar 26 HTML / CSS
amazeui 验证按钮扩展的实现
Aug 21 HTML / CSS
Html5通过数据流方式播放视频的实现
Apr 27 HTML / CSS
使用CSS3实现按钮悬停闪烁动态特效代码
Aug 30 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
PHP4和PHP5共存于一系统
2006/11/17 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
php缓冲输出实例分析
2015/01/05 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
node之本地服务器图片上传的方法示例
2019/03/26 Javascript
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
python求最大值最小值方法总结
2019/06/25 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
Footshop法国:购买运动鞋
2020/01/19 全球购物
普师专业个人自荐信范文
2013/11/26 职场文书
白酒市场开发计划书
2014/01/09 职场文书
公司财务流程之主管工作流程
2014/03/03 职场文书
伏羲庙导游词
2015/02/09 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书
Canvas跟随鼠标炫彩小球的实现
2021/04/11 Javascript
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS