架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 13191|回复: 1

[HTML/HTML5] HTML5学习之FileReader接口

[复制链接]
发表于 2016-9-19 10:45:24 | 显示全部楼层 |阅读模式
用来把文件读入内存,并且读取文件中的数据。FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据。到目前文职,只有FF3.6+和Chrome6.0+实现了FileReader接口。

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


FileReader接口的方法方法名 参数描述
readAsBinaryStringfile将文件读取为二进制编码
readAsTextfile,[encoding]将文件读取为文本
readAsDataURLfile将文件读取为DataURL
abort(none)终端读取操作

2、FileReader接口事件

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

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

3、FileReader接口的使用

  1. <scrip{过滤}t type="text/javascrip{过滤}t">
  2. var result=document.getElementById("result");
  3. var file=document.getElementById("file");

  4. //判断浏览器是否支持FileReader接口
  5. if(typeof FileReader == 'undefined'){
  6.     result.InnerHTML="<p>你的浏览器不支持FileReader接口!</p>";
  7.     //使选择控件不可操作
  8.     file.setAttribute("disabled","disabled");
  9. }

  10. function readAsDataURL(){
  11.     //检验是否为图像文件
  12.     var file = document.getElementById("file").files[0];
  13.     if(!/image\/\w+/.test(file.type)){
  14.         alert("看清楚,这个需要图片!");
  15.         return false;
  16.     }
  17.     var reader = new FileReader();
  18.     //将文件以Data URL形式读入页面
  19.     reader.readAsDataURL(file);
  20.     reader.onload=function(e){
  21.         var result=document.getElementById("result");
  22.         //显示文件
  23.         result.innerHTML='<img src="' + this.result +'" alt="" />';
  24.     }
  25. }

  26. function readAsBinaryString(){
  27.     var file = document.getElementById("file").files[0];
  28.     var reader = new FileReader();
  29.     //将文件以二进制形式读入页面
  30.     reader.readAsBinaryString(file);
  31.     reader.onload=function(f){
  32.         var result=document.getElementById("result");
  33.         //显示文件
  34.         result.innerHTML=this.result;
  35.     }
  36. }

  37. function readAsText(){
  38.     var file = document.getElementById("file").files[0];
  39.     var reader = new FileReader();
  40.     //将文件以文本形式读入页面
  41.     reader.readAsText(file);
  42.     reader.onload=function(f){
  43.         var result=document.getElementById("result");
  44.         //显示文件
  45.         result.innerHTML=this.result;
  46.     }
  47. }
  48. </scrip{过滤}t>
  49. <p>
  50.     <label>请选择一个文件:</label>
  51.     <input type="file" id="file" />
  52.     <input type="button" value="读取图像" onclick="readAsDataURL()" />
  53.     <input type="button" value="读取二进制数据" onclick="readAsBinaryString()" />
  54.     <input type="button" value="读取文本文件" onclick="readAsText()" />
  55. </p>
  56. <div id="result" name="result"></div>
复制代码







上一篇:c#参数化Parameters利用sp_executesql执行sql语句
下一篇:html下不能预览图片Not allowed to load local resource
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2016-9-19 10:55:41 | 显示全部楼层
https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader  具体介绍
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-9-22 14:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表