下载文件并使用Javascript将其压缩在浏览器中【云图智联】

本文介绍了一个在浏览器中下载多个文件并使用JavaScript进行压缩的技术方案,避免了服务器端生成zip文件的压力,利用fetch、Promise和第三方库JsZip、FileSaver实现了这一功能。通过下载文件到内存,按组下载以控制并发,然后创建zip文件并提供下载。这种方法可以减少后端复杂性和提高用户体验。
摘要由CSDN通过智能技术生成

免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/

与其生成zip文件并从您的服务器进行传输,不如下载数据并将其压缩在浏览器中呢?

下载文件并使用Javascript将其压缩在浏览器中

我最近从事一个副项目,该项目可根据用户的请求生成报告。对于每个请求,我们的后端将生成一个报告,将其上传到Amazon S3存储,然后将其URL返回给客户端。由于生成报告需要一些时间,因此将存储输出文件,并且服务器将通过请求参数来缓存其URL。如果用户订购相同的商品,则后端将返回现有文件的URL。

几天前,我有一个新要求,我需要下载一个包含数百个报告的zip文件,而不是单个文件。我想到的第一个解决方案是:

  • 在服务器上准备压缩文件
  • 上传到Amazon S3存储
  • 给客户端提供下载URL

但是此解决方案有一些缺点:

  • 生成zip文件的逻辑非常复杂。我需要考虑为每个请求生成所有文件,或者在重用现有文件和生成新文件之间进行组合。两种方法似乎都很复杂。他们将花费一些时间来处理,并且稍后需要大量的编码,测试和维护。
  • 它无法利用我已经构建的功能。尽管zip文件是不同的报告集,但很可能大多数单个报告都是由较早的请求生成的。因此,虽然zip文件本身不太可能可重用,但单个文件却可以重用。使用上述方法,我需要一直重做整个过程,这并不是很有效。
  • 生成一个zip文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值