Skip to content

FileReader

统计信息:字数 4773 阅读10分钟

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

其中File对象可以是来自用户在一个[`](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input)元素上选择文件后返回的[FileList](https://developer.mozilla.org/zh-CN/docs/Web/API/FileList)对象,也可以来自拖放操作生成的 [DataTransfer](https://developer.mozilla.org/zh-CN/docs/Web/API/DataTransfer)对象,还可以是来自在一个[HTMLCanvasElement](https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLCanvasElement)上执行mozGetAsFile()`方法后返回结果。

重要提示: FileReader仅用于以安全的方式从用户(远程)系统读取文件内容,它不能用于从文件系统中按路径名简单地读取文件。 要在JavaScript中按路径名读取文件,应使用标准Ajax解决方案进行服务器端文件读取,如果读取跨域,则使用CORS权限。

Note: 此特性在 Web Worker 中可用。

构造函数

返回一个新构造的FileReader

属性

一个DOMException,表示在读取文件时发生的错误 。

表示FileReader状态的数字。取值如下:常量名值描述EMPTY``0还没有加载任何数据.LOADING``1数据正在被加载.DONE``2已完成全部的读取请求.

文件的内容。该属性仅在读取操作完成后才有效,数据的格式取决于使用哪个方法来启动读取操作。

事件处理

处理abort事件。该事件在读取操作被中断时触发。

  • FileReader.onerror

处理error事件。该事件在读取操作发生错误时触发。

处理load事件。该事件在读取操作完成时触发。

  • FileReader.onloadstart

处理loadstart事件。该事件在读取操作开始时触发。

  • FileReader.onloadend

处理loadend事件。该事件在读取操作结束时(要么成功,要么失败)触发。

  • FileReader.onprogress

处理progress事件。该事件在读取Blob时触发。

因为 FileReader 继承自EventTarget,所以所有这些事件也可以通过addEventListener方法使用。

方法

中止读取操作。在返回时,readyState属性为DONE

开始读取指定的 Blob中的内容, 一旦完成, result 属性中保存的将是被读取文件的 ArrayBuffer 数据对象.

开始读取指定的Blob中的内容。一旦完成,result属性中将包含所读取文件的原始二进制数据。

开始读取指定的Blob中的内容。一旦完成,result属性中将包含一个data: URL格式的Base64字符串以表示所读取文件的内容。

开始读取指定的Blob中的内容。一旦完成,result属性中将包含一个字符串以表示所读取的文件内容。


Last update: November 9, 2024