2017-07-21 95 views
1

我正在嘗試使用Firebase下載PDF文件。每當我點擊應該啓動下載的項目,下載失敗。 我在日誌監視器中看到此消息: -無法從FireBase下載文件

StorageException發生。用戶沒有權限訪問此對象。代碼:-13021 HttpResult:403

我在火力地堡控制檯讀/寫權限如下: -

service firebase.storage { 
    match /b/savephoto-a1cc3.appspot.com/o { 
    match /{allPaths=**} { 
     // Allow access by all users 
     allow read, write; 
    } 
    } 
} 

而且我對下載文件的Java代碼看起來像這樣

FirebaseStorage storage = FirebaseStorage.getInstance(); 
StorageReference storageRef = storage.getReference(); 
StorageReference islandRef = storageRef.child("CSD-101").child("Midsems").child("2016").child("CSD101_MidSem.pdf"); 

File rootPath = new File(Environment.getExternalStorageDirectory(), "Question Papers"); 
if(!rootPath.exists()) { 
    rootPath.mkdirs(); 
} 

final File localFile = new File(rootPath,"CSD-101 Midsems.pdf"); 

islandRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() { 
    @Override 
    public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) { 
     Toast.makeText(Year2.this, "File Downloaded", Toast.LENGTH_SHORT).show(); 
    } 
}).addOnFailureListener(new OnFailureListener() { 
    @Override 
    public void onFailure(@NonNull Exception e) { 
     Toast.makeText(Year2.this, "Download Failed", Toast.LENGTH_SHORT).show(); 
    } 
}); 

我能做什麼?

+0

它需要大約5分鐘[修改安全規則(https://firebase.google.com/docs/storage/security/開始#edit_rules)成爲現場。如果在更改規則以允許公開訪問後立即發生故障,請重試。 –

+0

我甚至在一個小時後試過,但它沒有工作:( –

回答

0

,你應該使用此代碼更新您的火力控制檯規則

{ "rules": { 
".read": true, 
".write": true}}