Невозможно сохранить изображение в Firebase - PullRequest
0 голосов
/ 11 июня 2018

В моем приложении для Android я использую Firebase Storage для сохранения изображений. Я установил правила безопасности на null, тогда я тоже не могу загружать изображения и получаю сообщение об ошибке.Ниже приведены мои ошибки, правила безопасности и код Android. Пожалуйста, дайте мне знать, что я сделал неправильно в коде.

Ошибка Logcat: возникла исключительная ситуация StorageException.У пользователя нет прав доступа к этому объекту.Код: -13021 HttpResult: 403

Правила безопасности:

service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
   allow read, write: if request.auth == null;
  }
 }
}

Java-код:

   galleryFab.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){

                if(ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){

                    ActivityCompat.requestPermissions(SetAvatar.this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1);
                }
                else{

                    Intent i = new Intent(Intent.ACTION_PICK);
                    i.setType("image/*");
                    startActivityForResult(i,GALLERY_INTENT);
                }
            }
        }
    });

    @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent 
    data) {

    if(requestCode == GALLERY_INTENT && resultCode == RESULT_OK){

        uri = data.getData();
        cv.setImageURI(uri);
        final StorageReference filepath = sRef.child("Profile 
      Images").child(uri.getLastPathSegment());

        UploadTask uploadTask = filepath.putFile(uri);

        uploadTask.addOnSuccessListener(new 
     OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

       Toast.makeText(SetAvatar.this, "Upload 
                                     successful",Toast.LENGTH_SHORT).show();
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {

                Toast.makeText(SetAvatar.this, "Upload Failed -> " + e, 
   Toast.LENGTH_SHORT).show();

            }
        });
      }
    }

Спасибо

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