jszip создает пустые текстовые файлы изображений и архивирует их - PullRequest
0 голосов
/ 02 июля 2018

Я использую этот код для загрузки этих изображений, но это программирование создает текстовые файлы с этими именами и с типом jpeg. почему это происходит? эта программа не работает на chrome из-за межсайтовости, но на firefox в zip-файле пустые txt-файлы.

<!DOCTYPE html>
<html>
<body>
  <p id="demo"></p>
  <script type="text/javascript" src="https://fastcdn.org/FileSaver.js/1.1.20151003/FileSaver.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.min.js" type="text/javascript">
  </script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip-utils/0.0.2/jszip-utils.min.js" type="text/javascript">
  </script>
  <script>
    var urls = [
      "https://s3.amazonaws.com/ais-django/Events/Test1/DSC_0397.jpg",
      "https://s3.amazonaws.com/ais-django/Events/Test1/DSC_0398.jpg",
      "https://s3.amazonaws.com/ais-django/Events/Test1/DSC_0488.jpg"
    ];
    var nombre = "Zip_img";
    //The function is called
    compressed_img(urls, nombre);

    function compressed_img(urls, nombre) {
      var zip = new JSZip();
      var count = 0;
      var name = nombre + ".zip";
      urls.forEach(function(url) {
        JSZipUtils.getBinaryContent(url, function(err, data) {
          if (err) {
            throw err;
          }
          zip.file(url, data, {
            binary: true
          });
          count++;
          if (count == urls.length) {
            zip.generateAsync({
              type: 'blob'
            }).then(function(content) {
              saveAs(content, name);
            });
          }
        });
      });
    }
  </script>
</body>
</html>
...