JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 将庞大的文件(> 2GB)压缩到客户端的ZIP中大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用node.js和socket.io构建一个上传工具,因为他们通常会上传非常大的文件,并且正常的上传形式将无法正常工作.问题是他们希望在发送文件之前将文件压缩成zip,以提高传输效率.

我一直在研究像JSZipzip.js这样的压缩方法,但是这些压缩方法都不能很好地用于非常大的文件.我能做什么?

解决方法

您可以使用 zip.js压缩高达4GB的数据,但是:

>它只能使用Chrome
>这将非常慢(我的旧笔记本电脑每GB压缩数据约30分钟)

您可以使用this demo在线尝试.您必须在“选择临时存储”输入中选择“HDD”选项.然后,您可以从文件系统导入大文件并监视内存消耗:它应该是稳定的(笔记本电脑上大约有300MB).

选择“HDD”表示zip.js将使用File API: Directories and System来存储压缩数据.该API目前仅在Chrome上可用,并允许将数据写入沙盒虚拟文件系统.演示使用不需要用户权限的临时存储.

编辑:您还可以实现自己的Writer constructor功能,将数据流传输到您的服务器,而zip.js压缩它:它不会依赖于文件系统API,并且应该适用于您支持的每个浏览器.作家必须实现这两种方法:

init(callback[,onerror])
// initializes the stream where to write the zipped data

writeUint8Array(array,callback[,onerror])
// writes asynchronously a Uint8Array into the stream.

// getData method is optional

这是an example的自定义Writer和Reader构造函数.您还可以查看zip.js Writers implementations更多的例子.

大佬总结

以上是大佬教程为你收集整理的javascript – 将庞大的文件(> 2GB)压缩到客户端的ZIP中全部内容,希望文章能够帮你解决javascript – 将庞大的文件(> 2GB)压缩到客户端的ZIP中所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: