显示从db到角度局部视图的二进制图像

时间:2014-06-16 02:07:49

标签: json angularjs asp.net-web-api angular-ui angular-ui-bootstrap

我试图显示从web api请求返回的json对象内的图像。我可以在我的角度局部显示字符串,数字和日期/时间,但无法显示图像。 这是我的json对象,它包含我的主题(模型)类的每个字段

<Topic>
<Body>dsadfsaadsfds</Body>
<Created>2014-06-15T00:00:00</Created>
<Flagged>false</Flagged>
<Id>1022</Id>
<PhotoFile>
iVBORw0KGgoAAAANSUhEUgAAB2wAAAOiCAIAAAAzNbBAAAABiWlDQ1BJQ0MgUHJvZmlsZQAAKBWtkT1LA0EQht+L0SgJGCRoCpEFRSzu5IxFTLTJB5iIRYgKane5nImQj+NyIfoD7Gy0EG0U9S+INhaWYqGFIAjB3yAEAi..........
(I want to post screen shot but i can't due to lack of reputations.....)
</PhotoFile>
<Replies i:nil="true"/>
<Title>csdaadsf</Title>

这是我的角色html部分:

    <a data-ng-href="#/message/{{ i.id }}">{{ i.title }}</a>
  </div>
  <div class="date span2">
    {{ i.created | date:"medium" }}
  </div>
  <div class="contents span12">
    {{ i.body }}
  </div>
    <img  ng-alt="" src="{{'data:image'+i.photofile}}" />    </div>

`

由于我可以使其他属性正常工作,我的角度工厂和控制器应该正常工作。在角度局部视图中我的语法显示图像有什么问题吗?谢谢

1 个答案:

答案 0 :(得分:1)

  • 使用Angular表达式作为值时,您不应该使用src属性。请改用ng-src,以确保在Angular有机会替换表达式之前不会显示图像。

  • 如果您显示的示例有效负载已完成,则表示您构建数据URI的方式不完整。根据图像的格式,标题应如下所示

    data:image/png;base64,[things in the JSON]
    

    您可以详细了解格式here