前一个问题有一些很好的解决方法: Angular 2 download PDF from API and Display it in View 但是现在RC5已经出来了,我们可以使用arrayBuffer().我似乎无法随心所欲.我如何从这个转到一个不错的pdf bl
Angular 2 download PDF from API and Display it in View
但是现在RC5已经出来了,我们可以使用arrayBuffer().我似乎无法随心所欲.我如何从这个转到一个不错的pdf blob:
return this._authHttp.get(this.fileUrl+id)
.map((res:Response) => res.arrayBuffer())
.subscribe(
data => {
console.log(data);
var blob = new Blob([data], {type: 'application/pdf'});
console.log(blob);
saveAs(blob, "testData.pdf");
},
err => console.error(err),
() => console.log('done')
);
数据最终是我预期的两倍.我缺少什么想法?
我在下载pdf文件时遇到同样的问题.我浪费了两天时间来解决这个问题,但终于让它工作了.你需要将responseType设置为blob.return this._authHttp.get(this.fileUrl+id ,
{ responseType: ResponseContentType.Blob })
.map((res:Response) => res.blob())
.subscribe(
data => {
console.log(data);
var blob = new Blob([data], {type: 'application/pdf'});
console.log(blob);
saveAs(blob, "testData.pdf");
},
err => console.error(err),
() => console.log('done')
);
并且不要忘记导入ResponseContentType
希望这对你有所帮助
