后端服务器使用gzip文件进行响应,但没有
Content-Encoding: gzip header.而且我无法控制服务器,因此无法处理问题服务器端.
我现在需要的是使用javascript解压缩gzip压缩文件客户端.
我发现这个优秀的图书馆可以帮助我做到这一点:http://nodeca.github.io/pako/
但我不想添加额外的库只是为了解压缩文件.我觉得应该有一种方法可以使用浏览器的本机功能来解压缩.我对么?如果我错了,有人可以解释为什么这个浏览器功能不作为JavaScript API公开吗?有没有办法在javascript中解压缩文件而不添加额外的库?
joe*_*joe 18
Compression Streams API是一种新的 Web 标准,目前可在 Chromium、Firefox、Safari 和 Deno 中使用。
压缩流 API 的一些示例用法:
async function decompressBlob(blob) {
let ds = new DecompressionStream("gzip");
let decompressedStream = blob.stream().pipeThrough(ds);
return await new Response(decompressedStream).blob();
}
Run Code Online (Sandbox Code Playgroud)
对于压缩:
const compressedReadableStream = inputReadableStream.pipeThrough(new CompressionStream('gzip'));
Run Code Online (Sandbox Code Playgroud)
您还可以使用WASM 实现。显然, WASM 实现可以达到原生实现性能的 90%(大约是 JS 实现速度的 20 倍)。
也可以看看:
| 归档时间: |
|
| 查看次数: |
2455 次 |
| 最近记录: |