前言CompressionStream 提供浏览器原生的流式压缩能力,适合在上传或持久化前进行体积优化。本文演示 GZIP 压缩与解压的端到端流程。能力检测const supportsCompression = typeof CompressionStream === 'function'; const supportsDecompression = typeof DecompressionStream === 'function'; 文本压缩与解压async function gzipText(text) { const cs = new CompressionStream('gzip'); const stream = new Blob([text]).stream().pipeThrough(cs); return await new Response(stream).blob(); } async function gunzipToText(blob) { const ds = new DecompressionStream('gzip'); const stream = blob.stream().pipeThrough(ds); return await new Response(stream).text(); } 二进制压缩与上传async function uploadGzip(blob, url) { const cs = new CompressionStream('gzip'); const gz = await new Response(blob.stream().pipeThrough(cs)).blob(); return fetch(url, { method: 'POST', headers: { 'Content-Encoding': 'gzip' }, body: gz }); }

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
2.051211s