嗨,我正在用 angularjs 制作一个相册应用程序,它从我的服务器中抓取 base-64 编码的图像字符串并将它们解码为图像。
问题是我的 angularjs 应用程序似乎无法解码 base64 字符串。在我的模板上,它显示未找到图像图标。当我像这样将它直接嵌入到模板时,我检查了 base64 字符串和它的罚款:
<p><img src="data:image/jpeg;charset=utf-8;base64, /9j/4AAQSkZJRgABAQEBLA...etc.</p>'
图像将显示。但是,我需要从我的客户指令(下面的代码)中的服务中获取相册数据。
任何人都可以帮助解决这个问题吗?
这是我的代码:
指令.js
.directive('photoalbumsDisplay', ['$compile', 'myprofileService', function($compile,
myprofileService) {
return {
restrict: 'E',
link: function(scope, element, attrs) {
myprofileService.retrieve_albums().then(function(data) {
var html = [];
for (var p = 0; p < data.length; p++) {
//album photos array
var pic = data[p];
html += '<p><img src="data:image/jpeg;base64, ' + pic + '"/></p>';
}
element.replaceWith(html)
});
}
}
}]);
模板.html
<div data-ng-controller="photogalleryCtr" data-ng-init="init()">
<photoalbums-display></photoalbums-display>
</div>