FileReader

注意:此功能在Web Workers中可用。

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

文件对象可以从FileList对象中获取,该对象作为用户使用<input>元素选择文件或拖放操作的DataTransfer对象的结果返回。

FileReader只能访问用户显式选择的文件内容,无论是使用 HTML <input type="file"> 元素还是通过拖放。它不能用于根据用户文件系统的路径名读取文件。要根据客户端文件系统的路径名读取文件,请使用文件系统访问 API。要读取服务器端文件,请使用fetch(),如果跨源读取,则需要CORS权限。

EventTarget FileReader

构造函数

FileReader()

返回一个新的 FileReader 对象。

有关详细信息和示例,请参阅从 Web 应用程序使用文件

实例属性

FileReader.error 只读

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

FileReader.readyState 只读

一个数字,指示 FileReader 的状态。它是以下值之一:

名称 描述
EMPTY 0 尚未加载任何数据。
LOADING 1 正在加载数据。
DONE 2 整个读取请求已完成。
FileReader.result 只读

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

实例方法

FileReader.abort()

中止读取操作。返回后,readyState 将为 DONE

FileReader.readAsArrayBuffer()

开始读取指定Blob的内容,完成后,result 属性将包含一个ArrayBuffer,表示文件的数据。

FileReader.readAsBinaryString() 已弃用

开始读取指定Blob的内容,完成后,result 属性将包含文件中的原始二进制数据(作为字符串)。

FileReader.readAsDataURL()

开始读取指定Blob的内容,完成后,result 属性将包含一个表示文件数据的 data: URL。

FileReader.readAsText()

开始读取指定Blob的内容,完成后,result 属性将包含文件内容(作为文本字符串)。可以指定可选的编码名称。

事件

使用addEventListener()或通过将事件监听器分配给此接口的 oneventname 属性来监听这些事件。使用removeEventListener()删除事件监听器,一旦不再使用 FileReader,以避免内存泄漏。

abort

当读取被中止时触发,例如因为程序调用了FileReader.abort()

error

当读取由于错误而失败时触发。

load

当读取成功完成时触发。

loadend

当读取完成时触发,无论成功与否。

loadstart

当读取开始时触发。

progress

在读取数据时定期触发。

规范

规范
文件 API
# APIASynch

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅