【发布时间】:2017-03-01 22:14:42
【问题描述】:
您好,我有一个使用 MEAN 堆栈的应用程序。我从获取图像的终点开始。图像数组值看起来像:
8,8,7,7,9,8,9,8,9,8,9,9,8,8,8,8,7,9,7,7,9,10,16,13,8,8,16,9,7,8,12,33,14,15,1
当我尝试使用 Angular 阅读时,它不起作用并且显示相同。
我决定使用这个函数将其转换为 base 64 以便我可以阅读它。
所以在我的控制器中我是这样写的:
export class MainController {
constructor($http) {
'ngInject';
this.$http = $http;
this.getMessages();
this.getImages();
this.arrayBufferToBase64 = function(buffer) {
var binary = '';
var bytes = new Uint8Array(buffer);
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode(bytes[i]);
}
return window.btoa(binary);
}
}
这是我的功能:
getImages() {
var vm = this;
this.$http.get('http://localhost:5000/api/photo').then(function(result) {
vm.images = result.data;
console.log(result.data);
});
}
然后在我的前端角页面中我这样做:
<img ng-src="data:image/png;base64,{{arrayBufferToBase64(image.img.data.data)}}" alt="" />
当我尝试像那样阅读我的图像时。 :
<img ng-src="{{image.img.data.data)}}" alt="" />
它告诉我它是二进制的错误
但还是不行
任何人都可以帮助我如何读取来自我的 mongodb 和我的节点 api 的图像
【问题讨论】:
标签: javascript angularjs node.js mongodb base64