Angular 7 получить изображения с FireBase - PullRequest
0 голосов
/ 13 марта 2019

Пытаясь получить изображение из firestorage, как мне добавить абсолютный путь до slide.path или как проверить путь и внедрить его в this.slide в файле компонента

html

<div class="media text-muted pt-3 pb-3 border-bottom" *ngFor="let slide of slides">
    <img [src]="slide.path" class="bd-placeholder-img mr-2 rounded" width="100" height="100" />
    <p class="media-body mb-0 small lh-125 border-gray">
        <strong class="d-block text-gray-dark">{{ slide.name }}</strong>
    </p>
</div>

компонент

this.serv.getSlides().subscribe( res => {
  this.slides = res.map(item => {
    return {
      id: item.payload.doc.id,
      ...item.payload.doc.data()
    } as Slides;
  });
  console.log(this.slides);
});

Фирма

enter image description here

FireStorage enter image description here

1 Ответ

0 голосов
/ 13 марта 2019

Посмотрите на приведенный ниже фрагмент.Он зацикливает, выбирает и обновляет свойство пути с URL-адресом для загрузки

return this.afs
      .collection('Projects')
      .doc(projectId)
      .collection('Files')
      .valueChanges()
      .pipe(
        map(files => {
          files.forEach(file => {
            file.path = this.storage.ref(file.ref).getDownloadURL();
          });
          return files;
        })
      );

и в шаблоне

<ul class="list-group list-group-flush">
      <li class="list-group-item d-flex justify-content-between align-items-center" *ngFor="let file of projectFiles">
        <div>
          <p class="mb-1 file-name">
            <i class="far fa-file mr-2"></i>
            {{file.name}}
          </p>
          <p class="mb-0 meta">Uploaded by
            <span [appUserName]="file.userId"></span>
            <span>, {{(file.createdAt.seconds | amFromUnix)| amTimeAgo}}</span>
          </p>
        </div>

        <div>
          <a [href]="file.downloadURL | async" target="_blank" class="btn btn-outline-secondary btn-sm">
            <i class="fas fa-cloud-download-alt mr-1"></i>
            <span>Download</span>
          </a>
        </div>

      </li>
    </ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...