我已经尝试了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();
}
}
});
}
您试图从上载文件的其他位置获取下载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中的映像
我正在上传一个图像到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?