从流下载时的角度怪异行为

时间:2018-11-19 22:55:50

标签: java angular networking download stream

我在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开发工具的网络面板中看到文件正在下载,但是我不知道文件的保存位置,就好像它是流式传输而不是下载:

enter image description here

任何人都可以解释这种行为以及如何下载广播流。

1 个答案:

答案 0 :(得分:1)

也许您可以尝试...

this.http.get(`your_url`, { headers: headers, responseType: 'blob', observe: 'response'})
          .map( res => (
               {
                content: res.body, 
                fileName: res.headers.get('content-filename')
               }
           ));

希望这会有所帮助!