当前位置: 首页 > 知识库问答 >
问题:

发生存储异常。对象的位置不存在。Firebase存储错误

强安和
2023-03-14

我已经尝试了StackOverflow上发布的所有解决方案,但我的问题没有在那里讨论,所以我提出了这个问题。在我的例子中,图像被上传到firebase存储桶中,但没有在firestore中插入新记录,因此发生了此错误。我的代码:-

submit.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        progressDialog.setMessage("Adding candidate........");
        progressDialog.show();
        final String fetch_name = name.getText().toString();
        final String fetch_age = age.getText().toString();
        final String fetch_number = number.getText().toString();
        final String fetch_area = area.getText().toString();
        try{image_path = storageReference.child(user_id+"."+getFileExtension(imageUri)).putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                            @Override
                            public void onSuccess(Uri uri) {
                                Log.i("Infor",uri.toString());
                                String img = uri.toString();
                                if(img!=null){
                                    storeData(img,fetch_name,fetch_age,fetch_number,fetch_area);
                                    Toast.makeText(add_candidate.this,"Added successfully",Toast.LENGTH_SHORT).show();
                                    progressDialog.dismiss();
                                }
                                else
                                    Toast.makeText(add_candidate.this,"Error ho gya bhaiya",Toast.LENGTH_SHORT).show();
                                progressDialog.dismiss();
                            }
                        });
                    }
                },1000);
            }
        });}
        catch(Exception e){Log.i("Infor",e.getMessage());
        e.printStackTrace();}

    }
});

存储数据函数如下所示:-

private void storeData(String downloadUri, String fetch_name, String fetch_age, String fetch_number, String fetch_area) {
    Map<String,String> candidateData = new HashMap<>();
    candidateData.put("name",fetch_name);
    candidateData.put("age",fetch_age);
    candidateData.put("number",fetch_number);
    candidateData.put("area",fetch_area);
    candidateData.put("Uri",downloadUri);

    firebaseFirestore.collection("Candidates").document(user_id).set(candidateData).addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if(task.isSuccessful()){
                progressDialog.dismiss();
                Toast.makeText(add_candidate.this,"Completed",Toast.LENGTH_SHORT).show();
            }
            else{
                Toast.makeText(add_candidate.this,task.getException().getMessage(),Toast.LENGTH_SHORT).show();
            }
        }
    });
}

共有1个答案

景岳
2023-03-14

您试图从上载文件的其他位置获取下载URL。

StorageReference ref = storageReference.child(user_id+"."+getFileExtension(imageUri))
ref.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
        ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
            @Override
            public void onSuccess(Uri uri) {
                storeData(uri,fetch_name,fetch_age,fetch_number,fetch_area);
                Toast.makeText(add_candidate.this,"Added successfully",Toast.LENGTH_SHORT).show();
                progressDialog.dismiss();
            }
        });
    }
});
 类似资料:
  • 我正在上传一个图像到Firebase存储,这个错误不断出现 E/StorageException:StorageException已发生。对象的位置不存在。代码:-13010 httpresult:404 E/StorageException:{“错误”:{“代码”:404,“消息”:“未找到。无法获取对象”, “状态”:“get_object”}}java.io.IoException:{“错误

  • 当我开始我的申请时,它给了我下面提到的异常。我正在使用加密存储类,但不知道为什么会有这个异常,即使我现在没有访问任何存储类。请引导。 [EDT]0:0:0,32-Exception:java.io.eofException-null java.io.eofException at java.io.datainputstream.readfilly(datainputstream.java:197)

  • 我是Java新手,刚刚下载了Eclipse并编写了我的第一个Hello World程序 我想知道包java.util的存储位置是什么?这个包存储在我的电脑上的哪里?我使用苹果电脑。

  • 语言:Swift 5 监督办:13.2 MacOS:Catalina 10.15.4 Firebase存储规则: 上传图像和保存下载URL的代码:(这工作很好,因为我可以看到图像上传到存储区,它们各自的下载URL存储到实时数据库。) 下载图像的代码: 错误: 错误域=FirStorageErrorDomain代码=-13010“对象https://firebasestorage.googleapi

  • GS://dexxxxxxxxxxxx.com/videosvideo:67423 从给定的下载URL?