【问题标题】:How to update the angular2 firebase database?如何更新 angular2 firebase 数据库?
【发布时间】:2017-06-12 21:20:02
【问题描述】:

我在 firebase 数据库中有 Candidate_list 表。它包含不同的参数,如姓名、城市、技能等。这些所有参数都是我通过一个表单提交的。 提交表单后,页面将重定向到我们要提交他的简历的下一页。我不知道如何用简历名称和路径更新 Candidates_list。

我的 .html 文件在下面

<div class="container">
  <div class="row">
        <div class="col-md-3">
        </div>
    <div class="col-md-6">
          <div class="jumbotron">

          <h2>Complete your Profile</h2>
          <h5 style="color:royalblue;">Add your updated Resume to get notified by Recruiters</h5>
          <form>
            <label>Resume</label>
          <input id="file" name="file" type="file" #fileinput ><br>

          <button (click)="upload(fileinput)" type="button" class="btn btn-success">Submit</button>
        </form>




          </div>
    </div>
  </div>
</div>

我的 .ts 页面是

import { Component, OnInit,Input } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database';
import * as firebase from 'firebase';
import { FirebseService } from "app/firebse.service";

@Component({
  selector: 'app-candidate-reg-complete',
  templateUrl: './candidate-reg-complete.component.html',
  styleUrls: ['./candidate-reg-complete.component.css']
})
export class CandidateRegCompleteComponent implements OnInit {
item: FirebaseObjectObservable<any>;
  constructor(private db: AngularFireDatabase,
  private firebaseService:FirebseService) { 
    this.item = db.object('candidates_list');
  }

  ngOnInit() {
  }
  upload(documents){
    debugger;
  //  let file=user.files[0];
  //   console.log(file);
  //  console.log(file.name);
  let storageRef=firebase.storage().ref();

    for(let selectedFile of[(<HTMLInputElement>document.getElementById('file')).files[0]]){

     let path='/resumes/'+selectedFile.name;
      let iRef=storageRef.child(path);
      iRef.put(selectedFile).then((snapshot)=>{

       documents.resume=selectedFile.name;
       documents.path=path;
        var Userid=localStorage.getItem('user');
        console.log(documents);
        this.db.object('/candidates_list/'+Userid).update(documents);
      localStorage.setItem('resume',documents.path);

      })
 }

}
}


var Userid=localStorage.getItem('user');

这里我的意思是在登录时将用户的 UID 设置到本地存储中。 如何解决这个问题呢。有什么解决办法吗?请帮我。提前致谢

【问题讨论】:

    标签: javascript angular firebase firebase-realtime-database angularfire


    【解决方案1】:

    将简历文件上传到firebase存储参考这篇文章firebase storage 如果文件上传成功,回调将返回一个快照对象,您将在此处获取上传文件的详细信息。 然后您可以请求使用快照中的这些文件详细信息更新 firebase 数据库。

    【讨论】:

    • 请问这个问题的更新代码怎么写,是上传文件存储。但是我想把名字和路径存到数据库里,但是不行。怎么解决这个?请帮帮我吗?
    • 您可以使用数据库引用的更新方法来更新特定的键。请参考这篇文章:firebase update
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    相关资源
    最近更新 更多