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

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. asp.net MVC4 异步文件上传

    1.下载ajaxfileupload.js 2.在控制器内创建如下方法 //文件上传 public ActionResult uploadFile(HttpPostedFileBase file) { ...

  2. SQL Server启动的几种方法

    SQL Server 启动有以下几种方法: (1)在Control Panel——Administrative Tools——Services,找到SQL Server (XXX)进行启动. 其中XX ...

  3. TCP学习之四:传输协议

    参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html     服务端接收到的数据可能是被截断或合并后的数据,需要协议来 ...

  4. Java文件操作

    1.通过File类中的createNewFile()创建一个新的文件 /**     * 测试创建文件     * @throws IOException     */    @Test    pub ...

  5. C++ 简单字符串加解密(转载)

    #include <iostream.h> #include <windows.h> #include <tchar.h> void EncodeString(LP ...

  6. C#小方法PadLeft 和 PadRight

    1.在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行轻松地补位. PadLeft(int totalWidth, char paddingChar) //在字符串左边用 pad ...

  7. PHP cURL 使用cookie 模拟登录

    cURL是什么 cURL: http://php.net/manual/zh/book.curl.php PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务 ...

  8. CorelDRAW各版本安装软件下载

    CorelDRAW X8 SP6-32位64位免激活免登陆版 百度网盘下载地址 提取密码:1z6w CorelDraw X7  (64位)  简体中文完整版: 百度网盘下载地址 提取密码:sqaw C ...

  9. day5

    作业 作业需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期 ...

  10. struts2笔记(3)

    关于回显: 如果是int型,默认就会回显为0,如果不想让回显,则Integer就好 //**************************************声明式验证************* ...