Получение массива фотографий из хранилища Firebase - PullRequest
0 голосов
/ 06 июня 2019

пока я работаю в более чем 3 приложениях с использованием ионной каждый раз, когда я сталкиваюсь с той же проблемой, что получение данных из хранилища Firebase

как фотографии например

получить downloadURL для одной фотографии, если честно, хорошо, но когда дело доходит до загрузки downloadURL для множества фотографий и сделать это автоматически, используя * ngFor

это самая сложная вещь в мире

если у вас есть что-нибудь для этой работы, пожалуйста, помогите мне плохо ценить это

я пишу этот код, чтобы выполнить работу

export class AdmPage{


  public downloadedUrls: [];


  constructor() {  

    const file = `image/jpg`
    var storageRef = firebase.storage().ref();

  var  uploadTask = storageRef.child('images/rivers.jpg').put(file);


    uploadTask.on('state_changed', function(snapshot){
      // Observe state change events such as progress, pause, and resume
      // Get task progress, including the number of bytes uploaded and the total number of bytes to be uploaded
      var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
      console.log('Upload is ' + progress + '% done');
      switch (snapshot.state) {
        case firebase.storage.TaskState.PAUSED: // or 'paused'
          console.log('Upload is paused');
          break;
        case firebase.storage.TaskState.RUNNING: // or 'running'
          console.log('Upload is running');
          break;
      }
    }, function(error) {
      // Handle unsuccessful uploads
    }, function() {
      // Handle successful uploads on complete
      // For instance, get the download URL: https://firebasestorage.googleapis.com/...
      this.downloadedUrls.push(uploadTask.snapshot.downloadURL);

      });

    }
    }

и это, чтобы показать в HTML

 <ion-col *ngFor="let photo of downloadedUrls">
        <img src="{{ photo }}">
     </ion-col>

но это не работает ничего из фотографий, которые я загрузил в хранилище файловой базы, не показывалось

в хромированной консоли сказано это

ERROR Error: Uncaught (in promise): [DEFAULT]: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).
[DEFAULT]: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).
    at app (index.cjs.js:307)
    at Object.serviceNamespace [as storage] (index.cjs.js:366)
    at new AdmPage (adm.page.ts:22)
    at createClass (core.js:22148)
    at createDirectiveInstance (core.js:22029)
    at createViewNodes (core.js:23255)
    at createRootView (core.js:23169)
    at callWithDebugContext (core.js:24177)
    at Object.debugCreateRootView [as createRootView] (core.js:23687...
...