android - 将图像上传到 Firebase 时出现“对象在该位置不存在”存储异常
问题描述
我不断收到此错误,我不知道问题出在哪里。我已经尝试过类似主题中建议的解决方案,但对我没有任何帮助。
FirebaseStorage storage;
StorageReference storageReference;
storage = FirebaseStorage.getInstance();
storageReference = storage.getReference();
private void uploadImage() {
if(filePath != null)
{
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("Uploading...");
progressDialog.show();
final StorageReference ref = storageReference.child("images/"+ UUID.randomUUID().toString());
ref.putFile(filePath)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.dismiss();
ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
HashMap<String,String> h = session.getUsersDetailsFromSession();
String uid = h.get("uid");
String titre = title.getEditText().getText().toString();
String tim = time.getEditText().getText().toString();
String desc = description.getEditText().getText().toString();
String img = String.valueOf(uri);
if(titre.equals("") || tim.equals("") || desc.equals("") || lat.equals("") || lon.equals("") || img.equals(""))
{
openDialogErr();
}
else
{
Reclamations rec = new Reclamations(uid,titre,desc,tim,lat,lon,img);
String key = FirebaseDatabase.getInstance().getReference().push().getKey();
DatabaseReference recl = FirebaseDatabase.getInstance().getReference("Reclamations").child(key);
recl.setValue(rec);
openDialogSucc();
}
}
});
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
progressDialog.dismiss();
Toast.makeText(Reclamation.this, "Failed "+e.getMessage(), Toast.LENGTH_SHORT).show();
}
})
.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100.0*taskSnapshot.getBytesTransferred()/taskSnapshot
.getTotalByteCount());
progressDialog.setMessage("Uploaded "+(int)progress+"%");
}
});
}
}
解决方案
推荐阅读
- php - Laravel 5.6 使用 Eloquent ORM 将所有行作为值数组获取
- json - 分组数据和选择数据
- asp.net - SQL Server:传递给 RIGHT 函数的长度参数无效
- javascript - 试图理解使用 `.` 和 `[]` 从对象中获取值之间的确切区别
- javascript - 不同 ID 对的相同 Javascript 代码
- python - 列切片 pandas
- postgresql - knex:选择特定日期范围内的行
- raku - 如何在列之间插入分隔符?
- docker - Docker 镜像运行
- html - ThreeJS 视频纹理需要 CORS 标头,即使