FileReader
注意:此功能在Web Workers中可用。
FileReader
接口允许 Web 应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用File
或Blob
对象指定要读取的文件或数据。
文件对象可以从FileList
对象中获取,该对象作为用户使用<input>
元素选择文件或拖放操作的DataTransfer
对象的结果返回。
FileReader
只能访问用户显式选择的文件内容,无论是使用 HTML <input type="file">
元素还是通过拖放。它不能用于根据用户文件系统的路径名读取文件。要根据客户端文件系统的路径名读取文件,请使用文件系统访问 API。要读取服务器端文件,请使用fetch()
,如果跨源读取,则需要CORS权限。
构造函数
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
,以避免内存泄漏。
规范
规范 |
---|
文件 API # APIASynch |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。