您好我正在製作一個帶有angularjs的photoalbum應用程序,它可以從我的服務器獲取base-64編碼的圖像字符串並將它們解碼爲圖像。Angularjs相冊
問題是我的angularjs應用程序似乎無法解碼base64字符串。在我的模板上,它顯示沒有圖像找到圖標。我檢查了base64字符串,當我將其直接嵌入到模板中時,它很好:
<p><img src="data:image/jpeg;charset=utf-8;base64, /9j/4AAQSkZJRgABAQEBLA...etc.</p>'
圖像會顯示出來。不過,我需要從我的客戶指令(下面的代碼)中的服務中獲取相冊數據。
任何人都可以幫助解決這個問題嗎?
這裏是我的代碼:
directive.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>
imho解碼應該發生在服務器端。我知道那不是你要求的,但它看起來像一個非常好奇的建築選擇,就像你擁有它的方式一樣。 – Anton
我在服務器端使用rest API。還有照片是敏感的不想把它留在公共文件夾 – user1424508
解碼服務器端的意思是讓你休息api解碼它 – Anton