Zip загрузка не происходит - PullRequest
0 голосов
/ 14 сентября 2018

Привет, я новичок в java-скрипте, я пытаюсь загрузить zip-файл с веб-сервера, работающего на http://10.1.2.137:5000/download.

Когда я получаю один URL-адрес в браузере как http://10.1.2.137:5000/download, tezip-файл загружается, но когда я звоню из java-скрипта, zip-файл кажется поврежденным.Не удалось открыть ZIP-файл с Win RAR.Не уверен, что это проблема с CORS.

$scope.downloadData  = function (){
  console.log ('Entering in to Download Method')
  var url = 'http://10.1.2.137:5000/download';
  var xhr = new XMLHttpRequest();
  xhr.open("GET", url);
  xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
  xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
  xhr.responseType = "arraybuffer";
  var linkElement = document.createElement('iframe');
  document.body.appendChild(linkElement)
  xhr.send();
  xhr.onreadystatechange = function() {
  if (xhr.readyState == 4 && xhr.status == 200) {
        var blob = new Blob([str2bytes(xhr.response)], {type: "application/zip"});
        var fileName = "logs.zip";
        if (window.navigator && window.navigator.msSaveOrOpenBlob) {
            window.navigator.msSaveOrOpenBlob(blob, filename);
        } else {
            var a = document.createElement("a");
            document.body.appendChild(a);
            a.style = "display:none";
            var url = window.URL.createObjectURL(blob);
            a.href = url;
            a.download = fileName;
            a.click();
            window.URL.revokeObjectURL(url);
            a.remove();
        }
    }
        }
};

1 Ответ

0 голосов
/ 14 сентября 2018

Вы можете использовать window.open, это даст указание браузеру открыть URL-адрес и начать загрузку.например,

window.open("http://10.1.2.137:5000/download","_self");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...