BlobBuilder - 提供了一种构造 Blob 对象的简单方法

已废弃
该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

BlobBuilder 接口提供了一种构造 Blob 对象的简单方法。只要创建一个 BlobBuilder,并通过调用 append() 方法向其附加数据块即可。当你完成构建你的 blob 时,调用 getBlob() 来检索包含发送到 Blob 构建器中的数据的 Blob

注意: 不推荐使用 BlobBuilder 接口,而推荐使用新引入的 Blob 构造函数。

方法概览

  • void append(in ArrayBuffer data);
  • void append(in Blob data);
  • void append(in String data, [optional] in String endings);
  • Blob getBlob([optional] in DOMString contentType);
  • File getFile(in DOMString name, [optional] in DOMString contentType);

方法

append()

将指定的 JavaScript 对象的内容附加到正在构建的 Blob。如果您指定的值不是一个 blobArrayBufferString,在将该字符串附加到 Blob 之前,该值将被强制为字符串。

void append(
  in ArrayBuffer data
);

void append(
  in Blob data
);

void append(
  in String data,
  [optional] in String endings
);
参数

data

要构造的 Blob 附加的数据。

endings

指定如何写出包含 \n 的字符串。它可以是 "transparent"(结尾不更改)或 "native"(结尾更改以匹配主机 OS 文件系统约定)。 默认值为 "transparent"

getBlob()

返回一个 Blob 对象,该对象是通过调用 append() 传递的数据构建的。

Blob getBlob(
 in DOMString contentType (可选)
);
参数

contentType 可选

Blob 中要返回的数据的 MIME 类型。 这将是 Blob 对象的 type 属性的值。

返回值

一个 Blob 对象,包含自创建 BlobBuilder 以来传递给 append() 的所有数据。 这也会重置 BlobBuilder,以便下一次调用 append() 时开始一个新的空 blob。

getFile()

返回一个 File 对象。

File getFile(
  in DOMString name,
  [optional] in DOMString contentType
);
参数

name

文件名。

contentType 可选

File 中要返回的数据的 MIME 类型。 这将是 File 对象的 type 属性的值。

返回值

一个 File 对象。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持8 — 24 WebKit 12 — 79 MS 6 — 18 Moz 110 MS 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持3 — ≤37 WebKit 18 — 25 WebKit 未知6 — 18 Moz 1 未知 不支持 不支持

1. 从 Firefox 14 开始,使用 MozBlobBuilder 将在 Web 控制台中显示警告消息,即弃用 MozBlobBuilder 的使用,并建议使用 Blob 构造函数。

相关链接