如何在Baqend中显示所有图片(文件)?

How to display all images (files) in Baqend?

我正在使用 Ionic 3 和 Baqend 构建一个应用程序。我知道如何使用以下方法获取文件夹内所有图像的列表:

let folder;
folder = new this.db.File('/file/www/event_0001/');
this.db.File.listFiles(folder).then(function(files) {
    console.log(files);
});

我不想在我的数据库中保留每个图像的引用,因为我是通过 Baqend 控制台手动上传的。那么我如何遍历文件夹,提取每个图像的 url,并使用 <img src=.../> 显示它们?

您可以使用file.url方法生成一个URL:

let folder;
folder = new this.db.File('/file/www/event_0001/');
this.db.File.listFiles(folder).then(function(files) {
    this.images = files.map(file => file.url); 
});

之后就可以使用ngFor显示图片了:

<div *ngFor="let image of images">  
   <img [src]="image">
</div>  

并且您必须正确设置文件夹的查询权限,listFiles 才能正常工作。例如 public 或 group/user 应该被允许这样做。