【发布时间】:2017-08-26 07:12:53
【问题描述】:
我正在尝试在我的 Angular 应用程序中下载一个 pdf 文件。服务器(JBoss)提供一个文件
Content-type : application/pdf and Content- Disposition
标题设置为附件。
我可以在提琴手响应中很好地看到这些标题。但是在我的订阅回调中,我看不到相同的标题。相反,标题包含两个属性,即:
_headers and _normalizedHeaders
在进行 GET 调用时。我愿意:
`this._http.get(url, {responseType: 'arraybuffer'}).subscribe((file: Response)=>{
//Cant find headers in file here
});`
我还尝试将 responseType 设置为 RequestContentType.Blob,但也没有任何区别。
对于我的下载实现,我有一段代码一直可以用 AngularJS 下载附件。我只是在这里努力阅读Content-Disposition 标头。
我也尝试设置{ observe : response },希望通过这种方式得到详细的回复。但是,由于某些原因,不允许在 GET options 中设置该属性。
我在 SO 上看到了很多答案并尝试了其中的大部分,但仍然无法获得标题。
P.S:直接在浏览器上点击 API 可以让我下载文件,这意味着我的 Java 代码很好,这让我想知道我上面的代码有什么问题。
请求建议。
【问题讨论】:
标签: javascript angular browser download http-headers