Я использую 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();