Aym*_*ari 9 typescript angular
我有一个返回字节 [] 的 api,我想在我的前端应用程序中将它显示为图像,所以我使用数据 url 来显示图像
this.cardBackgroundService.getImage(event.data.entitlementCertificateNumber, "C003").subscribe(data => {
this.image = data;
console.log(this.image);
});
<img src="data:image/png;base64,{{image}}"/>
Run Code Online (Sandbox Code Playgroud)
问题是当我在控制台中显示 api 的响应时,它具有这种格式并且不显示为图像
?PNG ?Ou???j?000000000H??a
??a````````??a
??a??a```````??a
??a??a````````??a
??a??a```````??a
??a````````?.r? ?? ??X??V??QS??\?????F?`?{lhXnJU??s??ii??O1?;??????
Hie*_*yen 12
你可以像这样显示,它对我有用。
进口import { DomSanitizer } from '@angular/platform-browser';
添加DomSanitizer
constructor(private sanitizer: DomSanitizer) { }
this.cardBackgroundService.getImage(event.data.entitlementCertificateNumber, "C003")
.subscribe(data => {
let objectURL = 'data:image/png;base64,' + data;
this.image = this.sanitizer.bypassSecurityTrustUrl(objectURL);
});
Run Code Online (Sandbox Code Playgroud)
在 HTML 中
<img [src]='image' />
Run Code Online (Sandbox Code Playgroud)
您需要将图像数据转换为 dataURL:
const reader = new FileReader();
reader.onload = (e) => this.image = e.target.result;
reader.readAsDataURL(new Blob([data]));
Run Code Online (Sandbox Code Playgroud)
在您的组件中:
<img [src]="image"/>
Run Code Online (Sandbox Code Playgroud)
确保在http get请求中将 设置responseType
为类型。'blob'
getImage()
归档时间: |
|
查看次数: |
24464 次 |
最近记录: |