下载多个文件并以编程方式在客户端压缩它们

Posted

技术标签:

【中文标题】下载多个文件并以编程方式在客户端压缩它们【英文标题】:Download multiple files and zip them on client side programmatically 【发布时间】:2009-08-13 06:13:49 【问题描述】:

我需要从服务器下载多个文件并将它们压缩到一个文件中。这样用户在下载时将只处理一个文件。

我们在 akamai 服务器中托管了文件,我们想在客户端下载这些文件,然后以编程方式压缩它们并弹出消息询问用户要将压缩文件保存在哪里。

【问题讨论】:

【参考方案1】:

你自相矛盾。最初您说您希望您的用户在下载时只处理 1 个文件。这意味着文件在服务器端被压缩并下载为一个大的 zip 文件。这是有道理的。用户节省了带宽,并且只需处理从您的站点下载的 1 个文件。此外,所有文件都作为一个包存储在一起。

然后你说你想单独下载所有文件并在客户端压缩它们。这是一个完全不同的要求,说实话,这对我来说没有意义。文件已经下载。带宽已经被消耗。你为什么要现在压缩它们?您想弹出一条消息,询问该 zip 文件的保存位置?但是文件已经下载了。如果用户取消此对话框,你会怎么做?

所以,第一个场景可以相对容易地实现。 第二种情况(客户端)不能仅使用 javascript 实现。您可以在 ActiveX 的额外帮助下完成此操作,但它仅适用于 IE。

【讨论】:

我也有类似的要求。假设我不想在服务器端压缩任何东西。但我想向客户展示一个压缩文件。有没有一个js库?还是设计? 我对客户端的压缩文件有类似的要求?有 JS 库吗?【参考方案2】:

我们可以使用 Adob​​e Flex 从服务器下载文件作为字节数组到客户端,可以压缩字节数组并将其保存到客户端机器。

【讨论】:

以上是关于下载多个文件并以编程方式在客户端压缩它们的主要内容,如果未能解决你的问题,请参考以下文章

处理从 Amazon S3 下载的多个文件?

如何以编程方式创建用户可以下载的 Javascript 客户端文件? [复制]

无法在客户端附加带有多个压缩图像的 FormData() 对象

如何打开 2+ 个 VLC 实例并以编程方式控制它们?

windows系统内置ftp客户端和相关命令

从 Azure blob 存储下载所有文件,对其进行压缩并以 JAVA 格式上传 zip 文件