Загрузите большой файл с URL-адреса, отличного от Javascript - PullRequest
0 голосов
/ 16 июня 2020

Я использую XMLHttpRequest, чтобы получить содержимое файла с URL-адреса и преобразовать его в URL-адрес большого двоичного объекта для загрузки. При преобразовании его в URL-адрес blob большие файлы занимают больше времени, а затем начинается его загрузка. Теперь я хочу загрузить файл в браузер, и при загрузке преобразование должно происходить в фоновом режиме и отображать пользователя, содержимое которого загружается (аналогично zip-файлам будет загружаться, показывая загруженный контент) Ниже приведен код, который я использую

let xhr = new XMLHttpRequest();
  xhr.open("GET", url, true);
  xhr.responseType = "blob";
  xhr.onload = function(e) {
    if (this.status == 200) {
      const blob = this.response;
      const a = document.createElement("a");
      document.body.appendChild(a);
      const blobUrl = window.URL.createObjectURL(blob);
      a.href = blobUrl;
      a.download = details.asset_url;
      a.click();
      setTimeout(() => {
        window.URL.revokeObjectURL(blobUrl);
        document.body.removeChild(a);
      }, 0);
    }
  };
  xhr.send();
...