为什么使用JSZip压缩比为0

why the compression ration is 0 using JSZip

我使用以下代码将可下载的 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(= 无压缩)- 如 documentation

中所述

.generateAsync(options)

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