web-dev-qa-db-ja.com

StorageExceptionが発生しました。場所にオブジェクトが存在しません。ストレージFireBase

ImageViewで画像を表示したいのですが、これは私がやっていることです。FirebaseUIを使用してFireBase Storageの画像を表示しています。

FirebaseStorage storageDisplayImg;
StorageReference storageRef;
private FirebaseAuth auth;



        storageDisplayImg=FirebaseStorage.getInstance();
        auth = FirebaseAuth.getInstance();
        FirebaseUser userConnect = auth.getCurrentUser();
        String id_user=userConnect.getUid();
        storageRef = storageDisplayImg.getReference().child(item.getChemin_image()); // return gs://mydreambook-32321.appspot.com/images/test23-03-2017_16:46:55

        if (item.getChemin_image() != null&&id_user != null) {

           Glide.with(convertView.getContext() )
                   .using(new FirebaseImageLoader())
                   .load(storageRef)
                   .into(profilePic);
            profilePic.setVisibility(View.VISIBLE);

        } else {
            profilePic.setVisibility(View.GONE);
        }

しかし、私はこのエラーがあります:

StorageException has occurred.  Object does not exist at location.    Code: -13010 HttpResult: 404

更新、ストレージFireBase内のイメージ

enter image description here

10
Amal

私は現在同じ問題を抱えていて、ストレージ内の画像が.jpgで終わっていることに気付きましたが、コードは.pngで終わるアドレスを要求しています。それを修正した後、それは完璧に動作しました。

3
alibabaei12

こんにちは私は二日前にそのような問題に直面しました。ストレージ例外は、Firebaseの起動前にGoogle開発者コンソールで作成したプロジェクトに対して通常発生します。そのため、アプリをFirebaseの既存のプロジェクトに接続すると、機能しました。プロジェクトがストレージを受け入れるかどうかを確認するには、Firebaseコンソールに移動します。ファイルのアップロードオプションが表示されている場合は、左クリックでストレージをクリックすると、プロジェクトでストレージを使用できます。

2
Iqbal Ahmad

あなたは単にグライドメソッドを使用して2つの方法で画像を表示することができます。以下のメソッドにアクセスする場合は、Firebase Storageルールを変更する必要があります。ここに私のルールを含めました。

  service firebase.storage {
  match /b/project-id.appspot.com/o {
  match /{allPaths=**} {
   allow write: if request.auth != null;

  }
  }
 } 
 OR  allow write:ture;

方法1.単にFirebaseリファレンスを使用する

FirebaseStorage storage = FirebaseStorage.getInstance();
                StorageReference storageRef = storage.getReferenceFromUrl("gs://your-id.appspot.com");
                StorageReference pathReference = storageRef.child("images/cross.png");

                Glide.with(context)
                        .using(new FirebaseImageLoader())
                        .load(pathReference)
                        .into(Imageview)

方法2. Firebase URL

     Glide.with(context)
                    .using(new FirebaseImageLoader())
                    .load("Firebase_ImageURL")
                    .into(Imageview)
1
sivaprakash

同様の問題がありました。大文字と小文字が間違っているファイルを削除しようとしました

例:file_of_user_uidabcde.pngを検索してfile_of_user_uIdAbCdE.pngを削除する

0
DigaoParceiro