2017-01-12 10 views
1

я преобразовал свой загружаемый файл XML, чтобы пронестись, используя следующий код, но размер файла подоконник же и степень сжатия показывает 0%почему степень сжатия составляет 0, используя JSZip

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); 

    }); 

Причины компрессии была уменьшите размер файла, который клиент получает, но, по-видимому, он не повлиял на него. Просьба предложить способ уменьшить размер файла.

+0

Спасибо options получил. теперь он работает отлично. Вы можете сказать это как ответ :) –

ответ

1

по умолчанию сжатие настройки для файла (ов) STORE (= без сжатия) - как указано в documentation

изменить его на DEFLATE с параметром .generateAsync(options)

var zip = new JSZip(); 
zip.file("test1.xml", xmlcontent); 
zip.generateAsync({ 
     type: "blob", 
     compression: "DEFLATE" 
    }) 
    .then(function (content) { 
      ... 
    }); 
+0

@ DanielHaley Спасибо :) – Andreas