gpt4 book ai didi

javascript - 有没有办法使用 Javascript 使用浏览器的 native gzip 解压缩?

转载 作者:数据小太阳 更新时间:2023-10-29 04:20:23 25 4
gpt4 key购买 nike

后端服务器响应一个 gzip 文件但没有内容编码:gzip header 。而且我无法控制服务器,因此无法处理服务器端的问题。

我现在需要的是使用 javascript 在客户端解压缩 gzip 文件。

我发现了这个优秀的库可以帮助我做到这一点:http://nodeca.github.io/pako/

但我不想添加额外的库来解压缩文件。我觉得应该有一种方法可以使用浏览器的 native 功能来解压缩。我对么?如果我错了,有人可以解释为什么这个浏览器功能没有作为 javascript API 公开吗?有没有办法在不添加额外库的情况下用 javascript 解压缩文件?

最佳答案

Compression Streams API是一种新的网络标准,目前可用于 Chrome ( since v80 )、Edge 和 Deno。其他浏览器最终会添加它,但同时最好的选择是 WASM implementation。 . Apparently WASM 实现可以达到 native 实现性能的 90%(并且是 JS 实现速度的 20 倍左右)。

压缩流 API 的一些示例用法:

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

对于压缩:

const compressedReadableStream = inputReadableStream.pipeThrough(new CompressionStream('gzip'));

更多信息:

关于javascript - 有没有办法使用 Javascript 使用浏览器的 native gzip 解压缩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36185110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com