Blobを圧縮したり展開したりする
#JavaScript #holorhysm開発日記
2024-09-07
Compression Streams API、Baseline 2023なんですね
ってことはすべてのモダンブラウザで使えるんですね?使いましょう
Qiitaの記事にラップ関数書いてる人いる〜参考にしよう
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();
Author : 綾坂こと