为什么使用JSZip压缩率是0

مسع*_*عود 6 javascript xml compression 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);

    });
Run Code Online (Sandbox Code Playgroud)

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

And*_*eas 6

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

DEFLATE使用options参数将其更改为.generateAsync(options)

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