JSZip创建的名称.zip文件

时间:2019-06-18 15:21:29

标签: javascript zip jszip

我正在使用JSZip,并且正在创建一个.zip文件,其中包含多个.xml文件,如下所示:

// get each xml in string format and add it to zip object
let zip = new JSZip();
for(let i = 0; i < containers.length; i++){
    let xml = getXML(i);
    zip.file("file"+i+".xml", xml);
}

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

.zip文件已完美创建并下载,但是文件名是默认的“下载文件”。我想做的是随意为此文件命名(例如 allXMLs.zip )。

我查看了JSZip文档,但没有发现真正有启发性的内容,任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以创建一个带有“下载”属性的锚标记,以便对文件名进行一些控制。

zip.generateAsync({
    type: "base64"
}).then(function(content) {
    var link = document.createElement('a');
    link.href = "data:application/zip;base64," + content;
    link.download = "your-file-name.zip";
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
});

答案 1 :(得分:0)

在文档中,它建议使用一个名为[FileSaver.js]的附加库。1有关如何操作项目中给出的示例,请参见here