2017-03-31 14 views
0

Firebase Storageをテストしようとしています。私は手動でimages/egg.jpgをアップロードしました。Firebase Storage:パブリックアクセスでもファイルをダウンロードできない

イメージをダウンロードするためにFirebase Guideからコードをテストするための簡単なAndroidアプリケーションを作成しました。手続きを可能にする単なるボタン。

ファイルのダウンロードに失敗したと私は取得しています、すべては「ユーザーは、このオブジェクトにアクセスする権限がありません」と言うONFAILURE(からの例外)です。

私は同様の質問を見ました。その解決策は、ルールを通して誰かに読み取りと書き込みのアクセスを許可することでした。そのため、以下のようにコピーしました。

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

、ここactivitysコード

private StorageReference pathRef = FirebaseStorage.getInstance().getReference().child("images/egg.jpg"); 
private ImageView imageView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    this.imageView = (ImageView) this.findViewById(R.id.imageView); 
} 

public void getImage(View v){ 
    File localFile; 
    try { 
     localFile = File.createTempFile("images","jpg"); 
     pathRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) { 
       //Local temp file has been created 
       Toast.makeText(MainActivity.this, "Success", Toast.LENGTH_SHORT).show(); 
      } 
     }).addOnFailureListener(new OnFailureListener() { 
      @Override 
      public void onFailure(@NonNull Exception e) { 
       //handle error 
       Toast.makeText(MainActivity.this, e.getMessage()+"\n"+e.getCause(), Toast.LENGTH_LONG).show(); 
      } 
     }); 
    }catch (IOException exception){ 
     Toast.makeText(this, "IOEXCEPTION", Toast.LENGTH_SHORT).show(); 
    } 
} 

はちょうど私がまた、マニフェストにこれらの権限を追加してくださいすることです。

<uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 

なぜこのファイルをダウンロードできないのですか?

答えて

1

てみチェンジ:エラー与え

service firebase.storage { 
    match /b/{bucket}/o { 
    match /{allPaths=**} { 
     allow read, write:if true 
    } 
    } 
} 
+0

「保存エラールール - ライン5:予期しない 『もし』 」私が変わっ – Skemelio

+0

は、それだったもう一度 – Dmitry

+0

まあを試してみてください!なにが問題だったの? – Skemelio

関連する問題