如何使用AngularJS在HTML中显示二进制图像

时间:2018-06-07 17:31:41

标签: javascript html angularjs

我使用下面的代码在休息电话上将图像作为二进制文件。

vm.profilepicture = function(){

    profileService.bindimage('GET', 1).then(function(response){
        vm.image = response.data;

    });
}

我有标签:html用于显示图像如下:

<div> 
   <img ng-src="data:image/JPEG;base64,{{vm.image}}">
</div>

但不幸的是它没有显示(只显示损坏的图像)。在开发人员控制台中,我可以看到我在db

中存储的整个图像

image

在调试时,我可以看到

this

有人可以帮我解决如何在HTML中正确显示它吗?

谢谢ebk。

1 个答案:

答案 0 :(得分:0)

那是原始二进制文件,图像标记不明白。您需要将它放入已经部分拥有的dataURI字符串中。您只是没有将二进制数据转换为base64字符串,而是使用btoa函数

执行此操作
insert

您也可以尝试告诉您希望获得vm.image = btoa( response.data ); 响应的请求,并且您可以创建一个对象网址,以便将其用作图像src

将HTML更改为

blob

和JS到

<image ng-src="{{vm.image}}">