如何使用Angular 6中的发布请求下载大文件

时间:2018-12-05 22:02:17

标签: angular file post download angular6

我想使用发布请求下载大文件。 我需要添加一些授权标头,所以我想使用发布请求

 this.http.post(request).subscribe(
            (response: HttpResponse) => {
                var hiddenElement = document.createElement('a');
                hiddenElement.href = 'data:'+contentType+',' + encodeURI(response.body);
                hiddenElement.target = '_blank';
                document.body.appendChild(hiddenElement);
                hiddenElement.click();
                document.body.removeChild(hiddenElement);
            },
            err => {this.log(err); console.log('error is ', err); },
        );

我正在使用以上代码片段下载文件。 它适用于小文件,但不适用于大文件。

在从服务器获取全部数据之前,不会将响应传递给观察者函数。

因此它不会立即打开一个弹出窗口来保存文件,然后获取数据(这是正常的预期行为) 取而代之的是,它会提取全部数据,然后弹出弹出窗口来保存文件,然后保存内容。

因此,我希望在服务器发送响应标头和状态代码之后,在获取整个数据之前立即弹出窗口并开始下载文件

0 个答案:

没有答案