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教程(8):CSS3透明度指南
Apr 02 HTML / CSS
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
Feb 04 HTML / CSS
深入理解css属性的选择对动画性能的影响
Apr 20 HTML / CSS
css3如何绘制一个圆圆的loading转圈动画
Jan 09 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
Jan 09 HTML / CSS
HTML5中的Article和Section元素认识及使用
Mar 22 HTML / CSS
html5拍照功能实现代码(htm5上传文件)
Dec 11 HTML / CSS
不可轻视HTML5!App三年内将被html5顶替彻底消失
Nov 18 HTML / CSS
html5唤起app的方法
Nov 30 HTML / CSS
h5网页水印SDK的实现代码示例
Feb 19 HTML / CSS
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
Apr 22 HTML / CSS
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
Jul 01 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
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
PHP截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
WordPress中is_singular()函数简介
2015/02/05 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
详解php设置session(过期、失效、有效期)
2015/11/12 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
php array_map()函数实例用法
2021/03/03 PHP
jquery.validate使用攻略 第三部
2010/07/01 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
2013/04/24 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
跟老齐学Python之变量和参数
2014/10/10 Python
用Python抢过年的火车票附源码
2015/12/07 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
使用python绘制温度变化雷达图
2019/10/18 Python
优质服务演讲稿
2014/05/14 职场文书
团队拓展活动总结
2014/08/27 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫