我正在与第三方后端提供商合作,该提供商通过HTTP连接流式传输JPEG图像 .

基本上,我做 <img src="{{portal_url}}" /> 并保持流图像(从相机)

问题,我用这种方法意识到我无法控制浏览器打开的TCP通道,并且根据视图的缓存方式,即使退出视图,TCP通道也会长时间保持打开状态 .

相反,我想实现一个使用 http subscribe 到门户网站URL的函数,并呈现我可以在浏览器上显示的图像 . 我相信的优点是我可以随时取消它,所以我不必依赖浏览器终止连接 .

关于如何编写函数的任何建议?

注意:我无法改变后端 - 它就是这样 .

到目前为止,我已经(通过查看其他SO答案),但这不会保持流式图像 .

getBlob(url) {
    this.http.get(url, {
      headers: new Headers({ 'Content-Type': 'image/jpg' }),
      responseType: ResponseContentType.Blob
    })

      .map(res => res.json())
      .map(blob => {
        var urlCreator = window.URL;
        return this.sanitizer.bypassSecurityTrustUrl(urlCreator.createObjectURL(blob));
      })

  }