Путь к файлу для ссылки на пожарный магазин не был захвачен - PullRequest
0 голосов
/ 10 октября 2019

Я разделяю свою функцию fileSelected () и функцию Update (), в результате чего пользователю нужно будет нажать кнопку обновления, прежде чем выбранный файл должен быть помещен в хранилище Firebase.

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

вот код в .ts

onFileSelected(event) {
  if (event.target.files && event.target.files[0]) {
    var reader = new FileReader();
    this.file = event.target.files[0];
    target:EventTarget;
    reader.readAsDataURL(event.target.files[0]); // read file as data url
    reader.onload = (event: Event) => {
      this.profileURL = reader.result; // This is valid
     }
  }
}
updateUser(user: User, privateUser: PrivateUser, dob) {
  //store img in storage
  var path = `users/${this.userID}/${this.file.name}`
  var ref = this.storage.ref(path);
  var task = this.storage.upload(path, this.file);
task.snapshotChanges().pipe(
  finalize(() => {

    this.downloadURL = ref.getDownloadURL();
    this.downloadURL.subscribe(url => console.log(url) );
    console.log("test");
    this.afs.doc(`users/${this.userID}`).update({
      profile_pic : this.downloadURL });
    }),

);
console.log(this.downloadURL);
  this.userService.updateUser(user, privateUser, dob);
}

проблема в том, чтофункция из task.snapshotChanges() ... не вызывается, поскольку моя консоль не смогла отобразить «тест».

console.log(this.downloadURL);, затем вернитесь с неопределенным значением.

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