2016-07-24 3 views
1

Я считаю, что моя реализация неверна, но я не могу обойти ее. Я искал учебники, но не могу найти, это только официальную документацию я могу найти что слишком много подробно для меня, чтобы понять :)Ошибка загрузки образа Firebase из хранилища

//initialize 
    FirebaseStorage storage = FirebaseStorage.getInstance(); 
    // Points to the root reference 
    StorageReference storageRef = storage.getReferenceFromUrl("gs://nse-ninja.appspot.com"); 

    // Create a child reference 

    // imagesRef now points to "images" 
    StorageReference imagesRef = storageRef.child("images"); 
    StorageReference spaceRef = storageRef.child("images/games.png"); 

    File localFile = null; 
    try { 
     localFile = File.createTempFile("games", "png"); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    spaceRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() { 
     @Override 
     public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) { 
      Toast.makeText(MainActivity.this, "Success", Toast.LENGTH_SHORT).show(); 
     } 
    }).addOnFailureListener(new OnFailureListener() { 
     @Override 
     public void onFailure(@NonNull Exception exception) { 
      Toast.makeText(MainActivity.this, "Failed to download", Toast.LENGTH_SHORT).show(); 
     } 
    }); 

После запуска отказавшего тоста продолжает выскакивать

Вот LogCat

E/StorageException: StorageException has occurred. 
               User does not have permission to access this object. 
                Code: -13021 HttpResult: 403 
+0

Можете ли вы опубликовать здесь брошенную ошибку, пожалуйста? –

+1

Добавить оператор журнала, подобный этому, в 'onFailure()', чтобы узнать, что такое ошибка: 'Log.d (TAG,« Ошибка загрузки »:« + exception.getMessage()); ' –

+0

Что такое люди из базы битвы. Просто хотел иметь базовые знания? –

ответ

2

Это, вероятно, потому что ваш security rules не разрешить доступ. Вы можете изменить правила «общественность», используя следующие правила:

service firebase.storage { 
    match /b/nse-ninja.appspot.com/o { 
    match /{allPaths=**} { 
     allow read, write; 
    } 
    } 
} 

Read the docs для более некоторой информации!

+0

Это сработало, спасибо – PeterOla