gpt4 book ai didi

Angular 4 HttpModule 如何从 Get 请求返回文件

转载 作者:太空狗 更新时间:2023-10-29 18:05:14 25 4
gpt4 key购买 nike

我有一个 REST API,如果我直接在浏览器中查询,它会返回一个 JSON 或 CSV 文件供下载。我想对 Angular HttpModule 做同样的事情。

我的 get 请求很简单(它有一个查询字符串参数来指示要返回的文件格式):

public Submit(request: Request) {
...
return this.http.get(url).subscribe(response => {
//What here
});
}

响应内容类型是application/octet-stream。我试过将响应作为一个 blob 处理,但这是行不通的。我怎样才能将服务器的响应传递给浏览器并让它下载文件?此方法是响应按钮单击的组件调用的服务的一部分

onClick() {
this._requestService.Submit(request); //This gets the Subscription response from the service, but I want it to let the broswer download the file
}

最佳答案

你必须添加

{ responseType: ResponseContentType.Blob }

然后将响应映射到 blob。

return this.http.get(url, { responseType: ResponseContentType.Blob })
.map(r => r.blob())
.subscribe(response => {

});

接下来,您可以使用 fileSaver.js 下载此文件。

关于Angular 4 HttpModule 如何从 Get 请求返回文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45389593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com