js 有什么压缩/解压文件的方法,可以回调当前进度的吗?
- 0次
- 2021-08-27 06:54:50
- idczone
要用 js 实现一个对 gzip 文件的压缩 /解压缩,主要是要做一个进度条的展示,所以需要获取进度信息。
谢谢!
最好能够有一个功能: 就是压缩 /解压过程中,可以 cancel 取消的。
解压缩是 CPU 密集型操作,在 Web 中会导致页面等待回调函数执行完毕才有响应。要解决这个问题估计只能用 Web Worker 。
不会要自己造轮子吧,这可是手艺活。。。
去搜了下,只找到了个久不更新的 gzip-js 。可以考虑用 emscripten 把 C/C++ 代码编译成 wasm 或 asm.js 。
造个轮子吧,Rust 有一个 wasm-flate 库,在 wasm 里完成解压缩,逻辑放到 service worker 里跑,之后发送消息给网页就行
首先考虑砍需求。
或者就像楼上说的那样 wasm,进度可以 post message,cancel 有 terminate 的 api