2017-08-26 25 views
0

イメージの参照をFirebaseストレージに保存するテーブルを作成しようとしています。画像をアップロードして保存Firebaseストレージではなく、私は私のデータベースここFirebaseデータベースFirebase Storageのイメージにリンクするテーブル

でそれを参照するためにテーブルを作成カントされている私のコードです:私はブレークポイントをテストするとき

private async void UploadPhoto() 
    { 

     if (filePAth != null) 
     { 
      progressDialog = new ProgressDialog(this); 
      progressDialog.SetTitle("Uploading..."); 
      progressDialog.Window.SetType(Android.Views.WindowManagerTypes.SystemAlert); 
      progressDialog.Show(); 

      var images = storageRef.Child("images/" + Guid.NewGuid().ToString()); 
      images.PutFile(filePAth) 
       .AddOnProgressListener(this) 
       .AddOnSuccessListener(this) 
       .AddOnFailureListener(this); 
     } 


    } 

public async void OnSuccess(Java.Lang.Object result) 
    { 
     //get the logged on user so we know who made the category 
     var user = FirebaseAuth.Instance.CurrentUser; 

     //Link the photo in storage to database reference 
     try 
     { 
      var newImageDetails = storageRef.Child("images"); 
      Photo photos = new Photo(); 
      photos.categoryId = newImageDetails.Name; 
      photos.photoId = newImageDetails.Name; 
      photos.tagName = addTag.Text; 

      if (user != null) 
      { 
       var uid = user.Uid; 
       //set the users id to the category 
       photos.uid = uid; 
      } 

      var firebase = new FirebaseClient(FirebaseURL); 
      var item = await firebase.Child("photos").PostAsync(photos); 
     } 

     catch (System.Exception e) 
     { 

     } 

     progressDialog.Dismiss(); 
     Toast.MakeText(this, "Successfully uploaded image", 
     ToastLength.Short).Show(); 
    } 

コードは、項目があることを言いますtry catchブロックでnull?

新しくアップロードされた画像の参照を取得しようとしています。 enter image description here

答えて

0

イメージ参照の成功リスナ内でイメージURLを追加するコードを移動します。これは、データをアップロードした後でのみ、成功したfirebaseがあなたにURLを与えるからです。

現在、あなたのコードは、リンクをアップロードするファイルを待っていることはありません取得し、その後、

+0

URLを取得アイブ氏はこれを試してみましたが、それはラインVAR newImageDetails = FirebaseStorage.Instance.Referenceに来るとき。そのヌルとそれはコードの残りの部分をスキップしますか?この新しくアップロードされた画像の参照を取得する方法はありますか? – Smac

+0

新たにアップロードされたファイルの参照はonSuccessListenerメソッドで与えられます。そこから実際にファイルのURLをfirebasedbにアップロードすることができます –

+0

Iveはこれを使って試しました:var newImageDetails = storageRef.Child( "images");それは私に欲しい情報を私に与えてくれないのですか?画像参照を取得するコードは何ですか? – Smac

関連する問題