我使用以下代码将可下载的xml文件转换为zip,但文件大小仍然相同,压缩率显示为0%
var xmlcontent = ""; xmlcontent += json2xml(data); xmlcontent += ""; 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
(=无压缩)-如文档中所述
DEFLATE
使用options
参数将其更改为.generateAsync(options)
var zip = new JSZip(); zip.file("test1.xml", xmlcontent); zip.generateAsync({ type: "blob", compression: "DEFLATE" }) .then(function (content) { ... });