在Ionic页面中从S3获取签名的图像URL

时间:2017-11-11 19:20:55

标签: angularjs ionic-framework amazon-s3

在离子中,我有一系列图像键。使用这些密钥,我们希望获得Amazon S3签名的URL。

我有:

 <div *ngFor="let image of item.images">
    <div>Key: {{image}} -- Url: {{getImageUrl(image) }}</div>
 </div>

在Javascript部分我有以下内容:

 getImageUrl(imageKey) {
    this.s3.getSignedUrl('getObject', {'Key': imageKey}, (err, url) => {
      console.log(url);
      return url;
    });
  }

在日志中,我确实看到了URL正确无误。但是在html页面中;空无一物。我尝试了很多东西;例如通过让方法getImageUrl创建一个新变量;这仍未定义。

我应该如何修改我的代码才能使其正常工作?

我强烈认为这是由angularJS / Ionic / ...的异步性质引起的,而且我可能需要使用回调。然而;我无法理解如何将回调转换为HTML ... 我希望这是一个初学者的问题!

谢谢!

1 个答案:

答案 0 :(得分:0)

问题是如果你想显示图像,你应该使用标签,空div不显示任何东西,试试这个

<div *ngFor="let image of item.images">
    <div>
    <h1> Key: {{image}} -- Url: {{getImageUrl(image) }}
     </h1>
      <img *ngIf="image" [src]= {{getImageUrl(image) }}>
    </div>
 </div>