使用数据 URI 将多个文件下载到 Zip 文件 Javascript

Posted

技术标签:

【中文标题】使用数据 URI 将多个文件下载到 Zip 文件 Javascript【英文标题】:Downloading multiple files into a Zip file Javascript using data URI 【发布时间】:2016-02-23 14:12:37 【问题描述】:

我正在使用 EXT JS 4.2,它有一个面板,其中包含导出到 CSV 按钮。

点击它会下载多个(总共六个)文件。我希望将这些文件下载到一个 ZIP 文件中。

【问题讨论】:

您是否尝试过使用 JSZip 创建文件夹? 我创建了一个有效的 JSFiddle。希望对您有所帮助! 【参考方案1】:

有一个完美的插件可以在浏览器中创建 zip 文件。

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

手动添加js文件安装插件:

下载 JSZip 并包含文件 dist/jszip.js 或 dist/jszip.min.js

JSFiddle - JSZip 3.0:

https://jsfiddle.net/andrebonna/u8zsbzau/

var zip = new JSZip();
for (var i = 0; i < 5; i++) 
    var CSV = 'CSV_content';
    // Fill CSV variable
    zip.file("file" + i + ".csv", CSV);


zip.generateAsync(
    type: "base64"
).then(function(content) 
    window.location.href = "data:application/zip;base64," + content;
);

【讨论】:

以上是关于使用数据 URI 将多个文件下载到 Zip 文件 Javascript的主要内容,如果未能解决你的问题,请参考以下文章

使用 Dataflow 管道 (python) 将多个 Json zip 文件从 GCS 加载到 BigQuery

Zip然后将多个文件加密到单个存档中

如果路径包含空格,则 Zip 中文件的 URI 不正确

使用 php 将多个文件下载为 zip 文件

如何将多个文件夹添加到一个 zip 文件中(将文件夹 1、文件夹 2 添加到包含少量文件的 myzip.zip filr)

Python 使用文件字节访问 zip 文件并遍历每个文件以将它们保存到数据帧中返回未找到文件的错误