我使用以下代码将可下载的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
(= 无压缩) - 如文档中所述
将其更改为DEFLATE
,options
参数为 .generateAsync(options)
var zip = new JSZip();
zip.file("test1.xml", xmlcontent);
zip.generateAsync({
type: "blob",
compression: "DEFLATE"
})
.then(function (content) {
...
});