Blob.arrayBuffer()

arrayBuffer() 方法返回一个 Promise 对象,包含 blob 中的数据,并在 ArrayBuffer 中以二进制数据的形式呈现。

语法

var bufferPromise = blob.arrayBuffer();

blob.arrayBuffer().then(buffer => /* 处理 ArrayBuffer 数据的代码……*/);

var buffer = await blob.arrayBuffer();

参数

无须提供任何参数。

返回值

返回一个 promise 对象,在 resolved 状态中以二进制的形式包含 blob 中的数据,并呈现在 ArrayBuffer 中。

异常

当执行这个方法没有提示错误时,那么它可能会出现在 promise 的 reject 状态中。这是可能发生的,比如说在用于获取 blob 数据的一段代码抛出异常的时候。在读取数据时抛出的任何异常都会被放入 reject 状态中。

使用须知

FileReader.readAsArrayBuffer() 这个方法与之类似,但 arrayBuffer() 返回一个 promise 对象,而不是像 FileReader 一样返回一个基于事件的 API。

规范

Specification Status Comment
File API
Blob.arrayBuffer()
Working Draft

浏览器兼容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
arrayBuffer()Chrome Full support 76Edge Full support 79Firefox Full support 69IE No support NoOpera No support NoSafari No support NoWebView Android Full support 76Chrome Android Full support 76Firefox Android No support NoOpera Android Full support 54Safari iOS No support NoSamsung Internet Android Full support 12.0

Legend

Full support  
Full support
No support  
No support

另见