【发布时间】:2020-10-15 15:17:50
【问题描述】:
我正在将图像上传到 FirebaseStorage,我已经编写了此代码,但 tasksnapshot.getDownloadUrl() 不起作用。为此该怎么办? 请告诉,这将是很大的帮助。
我的代码是:
public void UploadImageFileToFirebaseStorage() {
if (FilePathUri != null) {
progressDialog.setTitle("Image is Uploading...");
progressDialog.show();
StorageReference storageReference2nd = storageReference.child(Storage_Path + System.currentTimeMillis() + "." + GetFileExtension(FilePathUri));
storageReference2nd.putFile(FilePathUri)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
String TempImageName = ImageName.getText().toString().trim();
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), "Image Uploaded Successfully ", Toast.LENGTH_LONG).show();
@SuppressWarnings("VisibleForTests")
ImageUploadInfo imageUploadInfo = new ImageUploadInfo(TempImageName, taskSnapshot.getDownloadUrl().toString());
String ImageUploadId = databaseReference.push().getKey();
databaseReference.child(ImageUploadId).setValue(imageUploadInfo);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
progressDialog.dismiss();
Toast.makeText(AddBanner.this, exception.getMessage(), Toast.LENGTH_LONG).show();
}
})
.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.setTitle("Image is Uploading...");
}
});
}
else {
Toast.makeText(AddBanner.this, "Please Select Image or Add Image Name", Toast.LENGTH_LONG).show();
}
}
请解决我的问题。
【问题讨论】:
标签: java android xml firebase firebase-realtime-database