FileReader小结

FileReader接口主要用来把文件对象或者Blob对象读入内存,并使用属性方法从文件或Blob中读取数据。它继承自EventTarget。而且还使用了异步机制的API,使用该API可以在浏览器主线程中异步访问文件系统。


1、FileReader支持的属性、事件、方法如下:

[Constructor]
	interface FileReader: EventTarget {

	  // async read methods
	  void readAsArrayBuffer(Blob blob);
	  void readAsBinaryString(Blob blob);
	  void readAsText(Blob blob, optional DOMString encoding);
	  void readAsDataURL(Blob blob);

	  void abort();

	  // states
	  const unsigned short EMPTY = 0;
	  const unsigned short LOADING = 1;
	  const unsigned short DONE = 2;


	  readonly attribute unsigned short readyState;

	  // File or Blob data
	  readonly attribute any result;

	  readonly attribute DOMError error;

	  // event handler attributes
	  attribute [TreatNonCallableAsNull] Function? onloadstart;
	  attribute [TreatNonCallableAsNull] Function? onprogress;
	  attribute [TreatNonCallableAsNull] Function? onload;
	  attribute [TreatNonCallableAsNull] Function? onabort;
	  attribute [TreatNonCallableAsNull] Function? onerror;
	  attribute [TreatNonCallableAsNull] Function? onloadend;

	};
	  
2、事件

onabort          数据读取中断触发

onerror          数据读取出错时触发

onloadstart    数据读取开始时触发

onprogress    数据读取中

onload           数据读取成功完成时触发

onloadend     数据读取完成时触发


3、方法

    方法名                               参数                              描述

readAsBinaryString                file                         将文件读取为二进制代码

readAsArrayBuffer                blob                        将文件读取问ArrayBuffer

readAsText                          file,[encoding]        将文件读取为文本                        //第二个参数为编码方式,默认为utf-8

readAsDataURL                   file                           将文件读取为DataURL                 //该方法事实上以一种特殊格式的URL地址形式直接读入页面(图片,html)

abort                                 none                         中断读取


4、例子

<script type="text/javascript">
var result = document.getElementById("result");
var file = document.getElementById("file");
//判断是否支持FileReader
if(typeof FileReader=='undefined') 
{
  result.innerHTML = "<p> your browser not support the FileReader </p>"
  file.setAttribute('disabled','disabled');
  }

function readAsBinaryString()
{
   var file = document.getElementById("file").file[0];
   var reader = new FileReader();
   reader.readAsBinaryString(file);
   reader.onload = function(f)
    {
         var result = document.getElementById("result");
         result.innerHTML = this.result;
    }
}
</script>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值