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

瀏覽器相容性