当前位置: 首页 > 网络应用技术

在前端和包装压缩解决方案中获取文件

时间:2023-03-05 18:47:40 网络应用技术

  我相信许多朋友并不熟悉前端文件下载,并且有许多形式的下载文件。例如,后端返回文件地址。我们将地址放在标签中,然后单击以下载;对流程进行一系列操作。

  有很多单一下载的解决方案,但是当我们需要分批下载文件时,我们应该如何做?

  面对这种需求,我们提出了以下解决方案:

  选项1:直接获取返回返回文件地址阵列,然后一一下载它们。但是每次下载文件时,浏览器都会显示更多下载任务;

  选项2:文件的后端压缩被包装和压缩,然后前端只需要下载压缩文件,但这将对服务器性能产生很大的影响。

  选项3:仍然获取后端返回的文件地址数组,一一下载,然后使用前端执行包装压缩。

  老实说,当我提到前端包装压缩时,我和一些小型合作伙伴一样。前端包和压缩如何压缩?下面的两个出色的库可以很好地解决我们的问题。

  在这里,以下是React环境的一个示例,但是其他环境中的想法和用法实际上相似,以下内容可以用作参考。

  本节将简要介绍JSZIP和FileSaver.js的API和使用。

  安装

  JSZIP是一个用于创建,阅读和编辑.zip文件的JavaScript库,并且具有友好而简单的API。

  首先,让我们实现一个简单的例子来感受这个非常有用的工具

  单击“下载”按钮,我们可以获得一个名为“压缩文件”,打开压缩文件,将有一个命名的文件。

  API简要介绍了一些API。

  创建一个JSZIP实例:

  创建一个文件:

  创建一个文件夹:

  同时创建一个文件夹和文件:

  生成一个压缩文件:

  我们可以通过或或生成:

  详细的API单击官方文档

  在上一个示例中,我们使用了JSZIP,还使用了FileSaver.js.filesaver.js的库,是保存在客户端上的文件的解决方案,该解决方案非常适合在客户端上生成文件。

  在上一节的示例中,我们保存了文件aver.js生成的文件。

  语法

  例子

  单击官方文件以获取更多用法

  我们已经知道这两个库可以意识到我们的需求。这里有两个步骤,第一步是获取文件。第二步是打包和压缩。

  这里的文件地址只是一个简单的示例,具体取决于实际开发过程中的情况。

  这主要通过遍历地址数组,然后从后端通过地址获得文件,然后执行批处理压缩包装文件,最后保存压缩文件。

  https://stuk.github.io/jszip/

  https://github.com/eligrey/filesaver.js

  通过使用jszip和filesaver.js,我们可以在后端的批处理文件上执行集成和包装压缩。这在一定程度上降低了服务器上的压力。另一方面,一次弹出的下载任务也在一定程度上改善了体验。