文章の目录

  • 一、概述
  • 二、构造函数
  • 1、语法
  • 三、实例属性
  • 1、error
  • 1.1、语法
  • 1.2、返回值
  • 2、readyState
  • 2.1、语法
  • 2.2、值
  • 3、result
  • 3.1、语法
  • 3.2、值
  • 四、实例方法
  • 1、abort()
  • 1.1、语法
  • 2、readAsArrayBuffer()
  • 2.1、概述
  • 2.2、语法
  • 2.3、参数
  • 3、readAsDataURL()
  • 3.1、语法
  • 3.2、参数
  • 4、readAsText()
  • 4.1、语法
  • 4.2、参数
  • 五、事件
  • 1、abort(中止事件)
  • 2、error
  • 3、load
  • 4、loadend
  • 5、loadstart
  • 6、progress
  • 写在最后



一、概述

FileReader 对象允许 Web 应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。

二、构造函数

使用 FileReader() 构造器去创建一个新的 FileReader。

1、语法

var reader = new FileReader();

三、实例属性

1、error

返回读取文件时的错误信息

1.1、语法

var error = instanceOfFileReader.error

1.2、返回值

返回一个 DOMError

2、readyState

提供 FileReader 读取操作时的当前状态。

2.1、语法

var state = instanceOfFileReader.readyState

2.2、值

state一个数字,用来表示 FileReader 的三种可能状态。

3、result

返回文件的内容。只有在读取操作完成后,此属性才有效,返回的数据的格式取决于是使用哪种读取方法来执行读取操作的。

3.1、语法

var file = instanceOfFileReader.result

3.2、值

一个字符串或者一个ArrayBuffer ,这取决于读取操作是使用哪种方法来进行的。

四、实例方法

1、abort()

该方法可以取消 FileReader 的读取操作,触发之后 readyState 为已完成(DONE)。

1.1、语法

instanceOfFileReader.abort();

2、readAsArrayBuffer()

2.1、概述

FileReader 接口提供的 readAsArrayBuffer() 方法用于启动读取指定的 Blob 或 File 内容。当读取操作完成时,readyState 变成 DONE(已完成),并触发 loadend 事件,同时 result 属性中将包含一个 ArrayBuffer 对象以表示所读取文件的数据。

2.2、语法

instanceOfFileReader.readAsArrayBuffer(blob);

2.3、参数

  • blob
    即将被读取的 Blob 或 File 对象。

3、readAsDataURL()

readAsDataURL 方法会读取指定的 Blob 或 File 对象。读取操作完成的时候,readyState 会变成已完成DONE,并触发 loadend 事件,同时 result 属性将包含一个data:URL 格式的字符串(base64 编码)以表示所读取文件的内容。

3.1、语法

instanceOfFileReader.readAsDataURL(blob);

3.2、参数

  • blob
    即将被读取的 Blob 或 File 对象。

4、readAsText()

readAsText 方法可以将 Blob 或者 File 对象转根据特殊的编码格式转化为内容 (字符串形式)

这个方法是异步的,也就是说,只有当执行完成后才能够查看到结果,如果直接查看是无结果的,并返回 undefined

也就是说必须要挂载 实例下的 onload 或 onloadend 的方法处理转化后的结果

当转化完成后, readyState 这个参数就会转换 为 done 即完成态, event(“loadend”) 挂载的事件会被触发,并可以通过事件返回的形参得到中的 FileReader.result 属性得到转化后的结果

4.1、语法

instanceOfFileReader.readAsText(blob[, encoding]);

4.2、参数

  • blob
    Blob 类型 或 File 类型
  • encoding (可选)
    传入一个字符串类型的编码类型,如缺省,则默认为“utf-8”类型

五、事件

1、abort(中止事件)

在中止读取时会触发 abort 事件:例如程序调用 abort()。

2、error

当由于错误(例如,文件未找到或不可读)导致读取失败时,将触发error事件。

3、load

当文件成功读取时,执行load 事件

4、loadend

当文件读取完成(成功与否)时触发loadend事件。

5、loadstart

当文件读取操作开始时触发loadstart事件。

6、progress

当FileReader读取数据时,进度事件会定期触发。

写在最后

如果你感觉文章不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O??? 如果你觉得该文章有一点点用处,可以给作者点个赞