Compression Streams API

Baseline 2023
新推出

自 ⁨2023 年 5 月⁩起,此功能可在最新的设备和浏览器版本上使用。此功能可能无法在旧版设备或浏览器上使用。

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

压缩流 API 提供了 JavaScript API,用于使用 gzip 或 deflate 格式压缩和解压缩数据流。

内置的压缩功能意味着 JavaScript 应用程序无需包含压缩库,从而减小了应用程序的下载大小。

Fetch API 的 Response 可用于将流转换为

接口

CompressionStream

压缩数据流。

DecompressionStream

解压缩数据流。

示例

在这个示例中,使用 gzip 压缩来压缩一个流。

js
const compressedReadableStream = inputReadableStream.pipeThrough(
  new CompressionStream("gzip"),
);

在下面的示例中,一个函数使用 gzip 解压缩一个 blob。

js
async function DecompressBlob(blob) {
  const ds = new DecompressionStream("gzip");
  const decompressedStream = blob.stream().pipeThrough(ds);
  return await new Response(decompressedStream).blob();
}

规范

规范
压缩
# compression-stream

浏览器兼容性