15

Android デバイスの firebase ストレージに追加したイメージを取り込もうとしています。これが実行されるたびに、onFailureListener()

E/StorageException(9646): 不明なエラーが発生しました。サーバー応答の HTTP 結果コードと内部例外を確認してください。E/StorageException(9646): コード: -13000 HttpResult: 0

また、問題がないことを確認するために、当面の間、ストレージのアクセス許可を読み取り/書き込みに変更しました。

final ImageView test = (ImageView) findViewById(R.id.test_image);
StorageReference ref = storage.getReferenceFromUrl("gs://my-project.appspot.com/test_image.png");
    ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
        @Override
        public void onSuccess(Uri uri) {
            Log.d(TAG, "Successfully loaded uri");
            test.setImageURI(uri);
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Log.d(TAG, "Failed loaded uri: " + e.getMessage());
        }
    });
4

11 に答える 11

7

httpresult がゼロであることに気付きました。これは、ダウンロード URL を取得する要求が行われなかったことを示しています。これが発生する原因の 1 つは、スマートフォンでプレイ サービスが更新されていない場合です。adb logcat が「ストレージ ネットワーク レイヤーを読み込めませんでした」というエラーを表示するため、これがエラーであることがわかります。

これを修正するには、スマートフォンのプレイ サービスを更新してください。これにはいくつかの方法があります。最も簡単な方法は、「プレイ サービス情報」アプリをインストールして、プレイ ストアでプレイ サービスを確認し、利用可能な場合は [更新] をクリックすることです。

于 2016-05-24T16:52:50.743 に答える
3

私は同じ問題を抱えていました。これに対する解決策は次のとおりです。

  • ストレージ参照を作成します -->
StorageReference storageRef = storage.getReferenceFromUrl("gs:<bucket address>");
  • ストレージ参照の子を作成します

StorageReference spaceRef = storageRef.child("child name");

于 2016-09-07T06:57:30.100 に答える