前一个问题有一些很好的解决方法: 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
希望这对你有所帮助