angular2如何渲染服务端返回的二进制流图片

环境:

微服务请求后端,返回二进制流文件(图片) application/octet-stream,在ng2/ng4前端进行展示。

遇到情况:

1.尝试使用URL.createObjectURL(response)后添加 bypassSecurityTrustUrl。依旧提示unsafe

//html

<img [src]="imgUrl">


//ts

getImg() {

        const host = 'http://localhost:8083/';

        const url2 = host + 'api/bpm-extend/repository/process-definitions/myEclipseDemo:7:227504/diagram-resource';

        let firstheaders = new Headers();

        firstheaders.append('Content-Type', 'image/png');

        const opts: RequestOptionsArgs = {

            headers: firstheaders,

            responseType: 3

        }

        this.http.get(url2, opts).map((resp) => resp.json()).catch((err) => {throw err;})

            .subscribe((val) => {

                this.imgUrl = this.sanitizer.bypassSecurityTrustUrl( window.URL.createObjectURL(val) );

        })

    }

问题:

  1. 请问如何解决此情况?

  2. 或者是的方法错了,那有没有其他解决方案?


慕斯709654
浏览 1016回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript