用来把文件读入内存,并且读取文件中的数据。

FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据

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

无论读取成功或失败,方法并不会返回读取结果,这一结果存储在result属性中。

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

FileReader接口的使用

  1. <p>
  2. <label>请选择一个文件:</label>
  3. <input type="file" id="file" />
  4. <input type="button" value="读取图像" onclick="readAsDataURL()" />  //读取图像
  5. <input type="button" value="读取二进制数据" onclick="readAsBinaryString()" />  //读取二进制数据
  6. <input type="button" value="读取文本文件" onclick="readAsText()" />  //读取文本文件
  7. </p>
  8. <div id="result" name="result"></div>
  1. var result=document.getElementById("result");
  2. var file=document.getElementById("file");
  3. //判断浏览器是否支持FileReader接口
  4. if(typeof FileReader == 'undefined'){
  5. result.InnerHTML="<div>浏览器不支持FileReader接口!</div>";
  6. //使选择控件不可操作
  7. file.setAttribute("disabled","disabled");
  8. }
  9. function readAsDataURL(){
  10. //检验是否为图像文件
  11. var file = document.getElementById("file").files[0];
  12. if(!/image\/\w+/.test(file.type)){
  13. alert("看清楚,这个需要图片!");
  14. return false;
  15. }
  16. var reader = new FileReader();
  17. //将文件以Data URL形式读入页面
  18. reader.readAsDataURL(file);
  19. reader.onload=function(e){
  20. var result=document.getElementById("result");
  21. //显示文件
  22. result.innerHTML='<img src="' + this.result +'" alt="" />';
  23. }
  24. }
  25. function readAsBinaryString(){
  26. var file = document.getElementById("file").files[0];
  27. var reader = new FileReader();
  28. //将文件以二进制形式读入页面
  29. reader.readAsBinaryString(file);
  30. reader.onload=function(f){
  31. var result=document.getElementById("result");
  32. //显示文件
  33. result.innerHTML=this.result;
  34. }
  35. }
  36. function readAsText(){
  37. var file = document.getElementById("file").files[0];
  38. var reader = new FileReader();
  39. //将文件以文本形式读入页面
  40. reader.readAsText(file);
  41. reader.onload=function(f){
  42. var result=document.getElementById("result");
  43. //显示文件
  44. result.innerHTML=this.result;
  45. }
  46. }
  47. </script>

毕业论文中使用的技术—FileReader接口的更多相关文章

  1. HTML5学习之FileReader接口

    http://blog.csdn.net/zk437092645/article/details/8745647 用来把文件读入内存,并且读取文件中的数据.FileReader接口提供了一个异步API ...

  2. Html5 js FileReader接口

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

  3. API中FileReader 接口事件

    FileReader 接口包含了一套完整的事件模型,用于捕获读取文件时的状态onabort        中断onerror        出错onloadstart    开始onprogress  ...

  4. .net中对象序列化技术浅谈

    .net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储 ...

  5. GPRS GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务,属于第二代移动通信中的数据传输技术

    GPRS 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可 ...

  6. XMLHttpRequest 2.0与FileReader接口的方法

    jsonpd的实现: var jsonp = function (options) { var url = options.url, params = options.params || {}, ca ...

  7. Android中直播视频技术探究之---基础知识大纲介绍

    一.前言 最近各种视频直播app到处都是,各种霸屏,当然我们也是需要体验的,关于视频直播的软件这里就不介绍了,在不是技术的人来看,直播是一种潮流,是一种娱乐方式,但是作为一个高技术的,我们除了看看,更 ...

  8. 【转】.Net中通过反射技术的应用----插件程序的开发入门

    转自:http://www.cnblogs.com/winloa/archive/2012/03/25/2416355.html .Net中通过反射技术的应用----插件程序的开发入门 再开始之前,先 ...

  9. javaAPI中的常用 类 以及接口

    java.lang包中的常用类以及接口 类 1. Integer :Integer 类在对象中包装了一个基本类型 int 的值.Integer 类型的对象包含一个 int 类型的字段. 2. Math ...

随机推荐

  1. 常用linux 命令 -字符串相关

    参考网络文章,个人工作总结 题记:一般对字符串的操作有以下几种:求长度,截取字符串,拼接字符串,找字符串中某个字符的索引 1 expr 命令 1.1 定义 man 手册 Print the value ...

  2. Linq练习

    首先在Program.cs的Main()方法下添加如下代码: string[] names = { "heh", "haha", "huahua&qu ...

  3. SQL Server中查询数据库及表的信息语句

    /* -- 本文件主要是汇总了 Microsoft SQL Server 中有关数据库与表的相关信息查询语句. -- 下面的查询语句中一般给出两种查询方法, -- A方法访问系统表,适应于SQL 20 ...

  4. 【Android接百度地图API】百度地图Demo点击按钮闪退

    运行百度地图自带的BaiduMap_AndroidSDK_v4.1.0_Sample里面的BaiduMapsApiASDemo发现点击上面的按钮会闪退,控制台报的是xml的问题 查了一下,官方文档特别 ...

  5. C和指针 第十五章 文件I/O

    stdio.h中包含了声明FILE结构 struct _iobuf { char *_ptr; //文件输入的下一个位置 int _cnt; //当前缓冲区的相对位置 char *_base; //指 ...

  6. java基础 super 子类调用父类

    如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用 example如下: package test; /* * 如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用 * */ ...

  7. 3. K线基础知识三

    1. 阴线 证券市场上指开盘价高于收盘价的K线,K线图上一般用淡蓝色标注,表示股价下跌,当收盘价低于开盘价,也就是股价走势呈下降趋势时,我们称这种形态的K线为阴线. 中间部分实体为蓝色,此时,上影线的 ...

  8. 卡特兰数(Catalan)

    卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列.由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名,其前几项为 : 1, 2, ...

  9. jdbc链接数据库的三种方式

    /** * jdbc连接数据库 * @author APPle * */ public class Demo1 { //连接数据库的URL private String url = "jdb ...

  10. linux Mint 安装apache2

    sudo apt-get install apache2 y 启动apache2  /etc/init.d/apache2 restart 浏览器输入localhost看看是否访问正常 apache2 ...