为什么使用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) {
...
});
我使用以下代码将可下载的 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) {
...
});