Java 无法在firebase上上载多个图像的addOnSuccessListener。i、 e.输入addOnFailureListener

Java 无法在firebase上上载多个图像的addOnSuccessListener。i、 e.输入addOnFailureListener,java,android,firebase,firebase-realtime-database,firebase-storage,Java,Android,Firebase,Firebase Realtime Database,Firebase Storage,我想在firebase storege上上载多个图像。但是我不能上传它。 下面是我的代码 AddNewProjectActivity.java“保存项目方法” private void saveProject(){ 字符串pro_name、client_name、pro_rec_date、pro_comp_date、total_view、pro_no、arch_no; pro_no=binding.projectNo.getText().toString(); arch_no=binding.

我想在firebase storege上上载多个图像。但是我不能上传它。 下面是我的代码


AddNewProjectActivity.java“保存项目方法”

private void saveProject(){
字符串pro_name、client_name、pro_rec_date、pro_comp_date、total_view、pro_no、arch_no;
pro_no=binding.projectNo.getText().toString();
arch_no=binding.architectNumber.getText().toString();
pro_name=binding.projectName.getText().toString();
client_name=binding.ClientName.getText().toString();
pro_comp_date=binding.projectCompleteDate.getText().toString();
pro_rec_date=binding.projectReceivedDate.getText().toString();
total_views=binding.totalViewsOfPhotos.getText().toString();
setMessage(“在数据库中写入…”);
progressDialog.setCancelable(假);
progressDialog.setIcon(R.mipmap.ic_launcher_round);
progressDialog.setTitle(“Aurum设计”);
progressDialog.show();
如果(!(项等于(“是否收到付款?”)&项2.等于(“项目状态”)){
reference=FirebaseDatabase.getInstance().getReference(“项目详细信息”);
StorageReference ImageFolder=FirebaseStorage.getInstance().getReference().child(“项目图像”);
final HashMap HashMap=新HashMap();
//上传数据
hashMap.put(“建筑师号”,拱门号);
hashMap.put(“客户名称”,客户名称);
hashMap.put(“已收到付款”,项目);
hashMap.put(“项目状态”,第2项);
hashMap.put(“项目完成日期”,项目完成日期);
hashMap.put(“项目名称”,专业名称);
hashMap.put(“project_no”,pro_no);
hashMap.put(“项目接收日期”,项目接收日期);
hashMap.put(“总视图”,总视图);
//上传图像
对于(upload_count=0;upload_count

上层代码中的addOnSuccessListener不工作


进入addOnFailureListener

ImageName.putFile(IndividualImage).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                    @Override
                    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                        ImageName.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                            @Override
                            public void onSuccess(Uri uri) {
                                String URL = String.valueOf(uri);
                                hashMap.put("image_url"+upload_count,URL);
                            }
                        });
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Toast.makeText(activity, "failed", Toast.LENGTH_SHORT).show();
                    }
                });
ImageName.putFile(IndividualImage).addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
ImageName.getDownloadUrl().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
字符串URL=String.valueOf(uri);
hashMap.put(“图像url”+上传计数,url);
}
});
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(活动“失败”,Toast.LENGTH_SHORT).show();
}
});


请任何人知道解决办法,请告诉我。提前感谢…

我解决了错误。我忘了向公众更新存储规则。


上面的代码是无错误的代码。。。因此,您可以使用此代码在firebase存储上上载多个图像但是,别忘了检查firebase规则,我正在下面添加规则


firebase存储规则

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}

是否显示来自
onFailure()
的Toast消息?是。。祝酒词已显示App没有崩溃。。。但是,显示的是失败
rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}