2017-06-12 22 views
0

firebaseデータベースにcandidates_listテーブルがあります。名前、都市、スキルなどのさまざまなパラメータが含まれています。 フォームを送信した後、ページはリジュームを送信したい次のページにリダイレクトされます。私は、名前とパスを再開してcandidates_listを更新する方法を知らない。angle2 firebaseデータベースを更新するには?

私の.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ページは私がログイン中のローカルストレージに設定しているユーザーのUIDを取ることを意味

ここ
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'); 

ある下回っている。 この問題を解決する方法。どんな解決策ですか?私を助けてください。

答えて

0

この記事を参照してくださいfirebase storage ファイルが正常にアップロードされた場合、コールバックはスナップショットオブジェクトを返します。アップロードされたファイルの詳細が表示されます。 その後、スナップショットのファイル詳細を使ってfirebaseデータベースを更新するように要求することができます。

+0

この問題で更新コードを書き込む方法を教えてください。ファイルstorage.butをアップロードしていますが、データベースに名前とパスを保存したいのですが、これを解決するための作業はありませんか?誰でも? – pranavyoyo

+0

データベース参照の更新メソッドを使用して特定のkeys.pleaseを更新することができます。この記事を参照してください:[firebase update](https://firebase.google.com/docs/database/admin/save-data) –

関連する問題