为什么使用 JSZip 压缩比为 0



我使用以下代码将可下载的xml文件转换为zip,但文件大小相同,压缩率显示0%

    var xmlcontent = "<?xml version='1.0' encoding='UTF-8'?><Body>";
    xmlcontent += json2xml(data);
    xmlcontent += "</Body>";
    var zip = new JSZip();
    zip.file("test1.xml", xmlcontent);
    zip.generateAsync({ type: "blob" })
    .then(function (content) {
        var a = document.createElement("a");
        document.body.appendChild(a);
        a.style = "display: none";
        var url = window.URL.createObjectURL(content);
        a.href = url;
        a.download = "test.zip";
        a.click();
        window.URL.revokeObjectURL(url);
    });

压缩的原因是减小客户端检索的文件的大小,但显然它对它没有影响。请建议一种减小文件大小的方法。

文件的默认压缩设置为 STORE (= 无压缩) - 如文档中所述

将其更改为DEFLATEoptions参数为 .generateAsync(options)

var zip = new JSZip();
zip.file("test1.xml", xmlcontent);
zip.generateAsync({
        type: "blob",
        compression: "DEFLATE"
    })
    .then(function (content) {
            ...
    });

最新更新