我在Java后端中有一个rest控制器,用于将文件下载为流:端点返回StreamingResponseBody流,当我尝试下载带有curl的文件时,它工作正常:
curl -H "Authorization: Bearer <MyToken>" http://localhost:9001/rest/api/download --output test.zip
但是不是有角度的,我正在使用HttpModule get方法:
this.http.get(url, headers).subscribe ...
但是我可以在chrome开发工具的网络面板中看到文件正在下载,但是我不知道文件的保存位置,就好像它是流式传输而不是下载:
任何人都可以解释这种行为以及如何下载广播流。
答案 0 :(得分:1)
也许您可以尝试...
this.http.get(`your_url`, { headers: headers, responseType: 'blob', observe: 'response'})
.map( res => (
{
content: res.body,
fileName: res.headers.get('content-filename')
}
));
希望这会有所帮助!