【发布时间】:2019-09-21 21:18:59
【问题描述】:
我有一个返回 byte[] 的 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}}"/>
问题是当我在控制台中显示 api 的响应时,它具有这种格式并且不显示为图像
�PNG �欧���j�000000000H��a
��a````````��a��a��a```````��a��a��a````````��a��a��a```````��a��a``````````.r� ����X��V��QS��\����F�`�{lhXnJU��s��iiǯ�O1�;������
【问题讨论】:
-
试试
this.image = btoa(data); -
我有这个错误:
Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range. -
否则这个“可能”工作:
<img src="data:image/png,{{image}}"/>,所以只需删除 base64 -
参考这个链接:- stackoverflow.com/questions/36152917/…>
标签: angular typescript