Есть ли способ начать загрузку файла, пока XMLHttpPrequest все еще находится в процессе выполнения? - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь реализовать поведение на стороне клиента, когда файл начинает загружаться, пока клиент все еще получает чанкированные ответы.Я хочу показать в панели загрузки, что файл уже загружается до достижения функции загрузки.Это мой код прямо сейчас, и происходит следующее: загрузка начинается только после обработки всех чанков.

        const xhr = new XMLHttpRequest()
        xhr.open('POST', url, true);
        xhr.withCredentials = false;
        xhr.onprogress = function () {  
            console.log('LOADING', xhr.status);
            csvContent += xhr.responseText + '\r\n';
        }

        xhr.onload = function () {
            console.log('DONE', xhr.status);
            const encodedUri = encodeURI(csvContent);
            const link = document.createElement('a');
            link.setAttribute('href', encodedUri);
            link.setAttribute('download', 'my_data');
            document.body.appendChild(link); // Required for FF
            link.click();
        };

        xhr.send(JSON.stringify(requestPayload));

В заголовке ответа я также получаю:

Content-Распоряжение: вложение;filename = "file.csv"

Спасибо!

...