Javascript 如何使用AngularJS显示图像数据?(奇怪的回应格式)

Javascript 如何使用AngularJS显示图像数据?(奇怪的回应格式),javascript,angularjs,html,Javascript,Angularjs,Html,图像存储在php服务器上的一个目录中 服务: .factory('PhotoService', function($q, $http) { return { getPhoto: function(photoName) { var url = dirInfo.template_directory + 'quoteCalc/images/Upload/' + photoName; return $http.get(url).then(function(resp

图像存储在php服务器上的一个目录中

服务:

.factory('PhotoService', function($q, $http) {
   return {
    getPhoto: function(photoName) {
    var url = dirInfo.template_directory + 'quoteCalc/images/Upload/' +      photoName;
    return $http.get(url).then(function(response) {
        return response.data;
    })
    .catch(function(error) {
        return "Photo not found: " + error;
    });
}
}
})
我使用这个函数调用控制器中的工厂。数据返回正常,但格式已关闭,图像不显示

function init() {
    let photo;
    PhotoService.getPhoto(imageName).then(function(result) {
        $scope.imgstr = result;
    });
};
init();
image/response.data的格式很奇怪。我不知道该怎么办。我试过:

 var blob = new Blob([response.data], {type: 'application/octet-    binary'});
 return URL.createObjectURL(blob);

6HH9.2.12016:02:09:00:51 ��R��Z��'��0221�B�v�� ���� �� ��� � ����|F���234��234�0100���� ��������2.�3. �4&2016:02:09 09:00:512016:02:09 09:00:51��� �JM@bSIs��苹果。�H� � � . BPLIST000OVZ�2.�����.��似曾相识����������九�E����9 ��o�Z�F����L���1.����|��yg�G�wz����o�Xem'@D1\vW�s�W�8.��~总公司�wboI�总磷\�9��新台币�>G$O��R我�3.�D��-�+20 �ux7�Q%+3j�&迪。�7Jc�����E��rwf���?��������ų�-�����|1.��我�sԓֿ��$�E�VzrK���J���}�-�T�����W��&�G�接收������O����,���8.�=^}�:我�\�.�=,7.����F9Páǵ6�
��'�^��Z�sڸ$�美元;Uq� 上面的响应格式不是base64代码,所以现在可以将其呈现为图像。即使您尝试将响应内容编码为base64内容,它仍然无法工作。请检查服务器端存储的内容和返回的内容。

@Phil的评论表明我已经把情况复杂化了。我在angular控制器中创建了url,并在ng src中使用了它。我完全删除了该服务,效果非常好

您是否直接将url设置为img进行了测试?图像始终设置为$scope.imgstr。并显示该连接是正常的,但它无法读取图像的格式。为什么要通过$http获取图像?难道你不能简单地做一些事情吗?你在DB中保存了什么?可能的重复
var reader = new FileReader();
return reader.readAsDataURL(response.data);
<img ng-src="data:image/png;base64,{{imgstr}}" />
�����ExifMM*� ���(1�2��ï%HAppleiPhone