在Angular中下载PDF文件使其空白

时间:2018-10-17 18:08:55

标签: angular pdf

我正在尝试从API下载PDF,但是遇到了一个小问题。数据似乎恢复正常;这是它回来的一个例子:

pdf result

在Angular应用中,我正在使用ngx-filesaver包来保存文件。它与其他PDF一起使用,而与CSV相比,我可以更好地控制这种情况。因此,我知道该软件包在正确的情况下有效。这是我正在使用的下载文件功能:

getGroup1094BTaxForm(year: string = '2017') {
    return this._http.get(`${this.groupBaseUrl}/taxes/1094/${year}`, { responseType: 'text' }).pipe(
        map((res: any) => {
            const blob = new Blob([res], { type: 'application/pdf' });
            this._fileSaver.save(<any>blob, 'group-1094b.pdf');
            return res;
        })
    );
}

我尝试在responseType请求中将blob设置为textGET,然后在响应返回后创建blob时我将其显式设置为application/pdf。当我取出创建Blob的行并将响应直接传递到_fileSaver.save函数中时,也会发生同样的问题。

在没有空白的情况下如何保存文件,我缺少什么?我签出了this answer,但是没有一种解决方案适合我。

1 个答案:

答案 0 :(得分:0)

将您的responseTypetext更改为blob

getGroup1094BTaxForm(year: string = '2017') {
    return this._http.get(`${this.groupBaseUrl}/taxes/1094/${year}`, { responseType: 'blob' }).pipe(
        map((res: any) => {
            const blob = new Blob([res], { type: 'application/pdf' });
            this._fileSaver.save(<any>blob, 'group-1094b.pdf');
            return res;
        })
    );
}