19

我正在我的数据库中搜索图像作为字节数组。我想使用标记图像将此内容显示为文件,但在这里不起作用。

// Controller which get my image and put into $scope.
function MyController($scope, $http, $location) {  

    var url = '/json/FindImage?id=1';  
    $http.get(url).success(function(result) {  
        $scope.image = result.Image;  
    }  
}  

// HTML
<!-- It doesn't work -->  
<img src="{{image}}" />  
<!-- It doesn't work also -->  
<img ng-src="{{image}}" />  

任何的想法?谢谢你们!

4

4 回答 4

62

ng-src按以下格式使用

<img ng-src="data:image/JPEG;base64,{{image}}">

不要忘记添加一个清理过滤器data以不被unsafe角度标记:

$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|file|ftp|blob):|data:image\//);
于 2014-07-02T08:59:18.567 回答
2

如果您可以让服务器以 base64 编码字符串返回图像,则可以使用数据 url作为 src 属性。

于 2013-02-20T13:16:08.840 回答
0

确保您返回以显示为图像的数据已转换为 ToBase64String

在您的 C# 代码中,使用 Convert.ToBase64String(imageBytes) 并在视图中使用此

于 2018-05-13T13:42:06.897 回答
-1

src属性img指向图像的源文件,它不包含实际的源数据。你不能以这种方式做你想做的事;相反,您必须用 JavaScript 编写一个图像解码器(例如https://github.com/devongovett/png.js),它会输出到一个canvas元素中。

于 2013-02-20T12:30:17.633 回答