FileReaderSync - Web API 接口参考 编辑

/wiki/zh-CN/docs/Web/API/FileReaderSync接口允许以同步的方式读取/wiki/zh-CN/docs/Web/API/File/wiki/zh-CN/docs/Web/API/Blob对象中的内容。

该接口只在workers可用,因为在主线程里进行同步I/O操作可能会阻塞用户界面。

方法概述

ArrayBuffer readAsArrayBuffer(/wiki/zh-CN/docs/Web/API/Blob blob);
DOMString readAsBinaryString(/wiki/zh-CN/docs/Web/API/Blob blob);
DOMStringreadAsText(/wiki/zh-CN/docs/Web/API/Blob blob, optional DOMString encoding);
DOMString readAsDataURL(/wiki/zh-CN/docs/Web/API/Blob blob);

属性

该接口没有任何属性。

方法

readAsArrayBuffer()

该方法可以读取指定的 /wiki/zh-CN/docs/Web/API/Blob 或者 /wiki/zh-CN/docs/Web/API/File对象中的内容。当读取完毕后,返回一个 ArrayBuffer 对象,里面包含了被读取文件的内容数据。如果在读取过程中发生了错误,则会抛出相关的异常。

ArrayBuffer readAsArrayBuffer(
  in /wiki/zh-CN/docs/Web/API/Blob blob
);

参数

blob
将要被读取内容的/wiki/zh-CN/docs/Web/API/Blob/wiki/zh-CN/docs/Web/API/File 对象.

返回值

一个 ArrayBuffer 对象,包含了被读取文件的内容.

异常

该方法可能引发下述异常:

NotFoundError
/wiki/zh-CN/docs/Web/API/Blob/wiki/zh-CN/docs/Web/API/File对象指代的资源无法找到时,触发该异常.比如,该资源已被删除的情况下.
SecurityError
当检测到下述几种问题情形时触发该异常:
  • 资源已被第三方修改;
  • 同时在进行多个读取操作;
  • 资源的安全级别过高,不允许浏览器进行操作(比如系统文件)。
NotReadableError
当资源由于权限问题不能被读取时触发该异常。比如并发锁。
EncodingError
当资源是一个data URL,并且超过了浏览器的限制大小时触发该异常。

readAsBinaryString()

该方法可以读取指定的 /wiki/zh-CN/docs/Web/API/Blob 或者 /wiki/zh-CN/docs/Web/API/File对象的内容。当读取完毕后,返回一个DOMString对象,里面包含了被读取文件的二进制数据.如果在读取过程中发生了错误,则会抛出相关的异常。

注意 :该方法已被废弃,应该使用readAsArrayBuffer()来替代.
String readAsBinaryString(
  in /wiki/zh-CN/docs/Web/API/Blob blob
);

参数

blob
将要被读取内容的/wiki/zh-CN/docs/Web/API/Blob/wiki/zh-CN/docs/Web/API/File 对象.

返回值

一个DOMString对象,包含了从资源中读取的二进制数据.

异常

该方法可能引发下述异常:

NotFoundError
/wiki/zh-CN/docs/Web/API/Blob/wiki/zh-CN/docs/Web/API/File对象指代的资源无法找到时,触发该异常。比如,该资源已被删除的情况下。
SecurityError
当检测到下述几种问题情形时触发该异常:
  • 资源已被第三方修改;
  • 同时在进行多个读取操作;
  • 资源的安全级别过高,不允许浏览器进行操作(比如系统文件)。
NotReadableError
当资源由于权限问题不能被读取时触发该异常(比如并发锁)。
EncodingError
当资源是一个data URL,并且超过了浏览器的限制大小时触发该异常。

readAsText()

该方法可以读取指定的 /wiki/zh-CN/docs/Web/API/Blob 或者 /wiki/zh-CN/docs/Web/API/File对象的内容。当读取完毕后,返回一个DOMString对象,里面包含了被读取文件的内容数据。可选参数 encoding 用来表示文件的编码类型,如果省略该参数,则该方法会使用一些算法自动检测文件的编码类型.如果在读取过程中发生了错误,则会抛出相关的异常。

String readAsText(
  in /wiki/zh-CN/docs/Web/API/Blob blob,
  in DOMString encoding 可选
);

参数

blob
将要被读取内容的/wiki/zh-CN/docs/Web/API/Blob/wiki/zh-CN/docs/Web/API/File 对象。
encoding
可选参数,表示被读取文件的编码类型, 比如GBK 或者 UTF-8。

返回值

一个DOMString对象,包含了被读取文件的内容。

异常

该方法可能引发下述异常:

NotFoundError
/wiki/zh-CN/docs/Web/API/Blob/wiki/zh-CN/docs/Web/API/File对象指代的资源无法找到时,触发该异常。比如,该资源已被删除的情况下。
SecurityError
当检测到下述几种问题情形时触发该异常:
  • 资源已被第三方修改;
  • 同时在进行多个读取操作;
  • 资源的安全级别过高,不允许浏览器进行操作。(比如系统文件)。
NotReadableError
当资源由于权限问题不能被读取时触发该异常(比如并发锁)。

readAsDataURL()

该方法可以读取指定的 /wiki/zh-CN/docs/Web/API/Blob 或者 /wiki/zh-CN/docs/Web/API/File对象的内容。当读取完毕后,返回一个Data URL格式的DOMString对象,里面包含了被读取文件的内容数据。如果在读取过程中发生了错误,则会抛出相关的异常。

String readAsDataURL(
  in /wiki/zh-CN/docs/Web/API/Blob file
);

参数

blob
将要被读取内容的/wiki/zh-CN/docs/Web/API/Blob/wiki/zh-CN/docs/Web/API/File 对象。

返回值

一个DOMString对象,data URL格式,包含了被读取文件的内容。

异常

该方法可能引发下述异常:

NotFoundError
/wiki/zh-CN/docs/Web/API/Blob/wiki/zh-CN/docs/Web/API/File对象指代的资源无法找到时,触发该异常。比如,该资源已被删除的情况下。
SecurityError
当检测到下述几种问题情形时触发该异常:
  • 资源已被第三方修改;
  • 同时在进行多个读取操作;
  • 资源的安全级别过高,不允许浏览器进行操作(比如系统文件)。
NotReadableError
当资源由于权限问题不能被读取时触发该异常(比如并发锁)。
EncodingError
当资源是一个data URL,并且超过了浏览器的限制大小时触发该异常。

Specifications

 

SpecificationStatusComment
/wiki/zh-CN/docs/Web/API/File API
/wiki/zh-CN/docs/Web/API/FileReaderSync
Working DraftInitial definition.

浏览器兼容性

BCD tables only load in the browser

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:64 次

字数:12942

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文