Blobを圧縮したり展開したりする
2024-09-07
ってことはすべてのモダンブラウザで使えるんですね?使いましょう
code:zip.js
/**
* @param {Blob} blob - 圧縮前Blob
* @returns {ArrayBuffer} - 圧縮後ArrayBuffer
*/
const zip = blob => new Response(blob.stream().pipeThrough(new CompressionStream("gzip"))).arrayBuffer();
code:unzip.js
/**
* @param {Blob} blob - 展開前Blob
* @returns {ArrayBuffer} - 展開後ArrayBuffer
*/
const unzip = blob => new Response(blob.stream().pipeThrough(new DecompressionStream("gzip"))).arrayBuffer();