こんにちは、サーバーからbase-64でエンコードされた画像文字列を取得し、それらを画像にデコードするangularjsを使用してフォトアルバムアプリを作成しています。
問題は、私の 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)
});
}
}
}]);
template.html
<div data-ng-controller="photogalleryCtr" data-ng-init="init()">
<photoalbums-display></photoalbums-display>
</div>