帮我找到解决方案..更新firebase后getdownloadurl上出现错误 错误:找不到符号方法getDownloadUrl()
这是我的代码
private void upload() {
if(filePath != null)
{
final ProgressDialog progressDialog= new ProgressDialog(this);
progressDialog.setTitle("Uploading ");
progressDialog.show();
StorageReference ref = storageReference.child(new StringBuilder("images/").append
(UUID.randomUUID()).toString().toString());
ref.putFile(filePath).addOnSuccessListener(new OnSuccessListener <UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.dismiss();
saveUriToCategory(categoryIdSelect, taskSnapshot.getDownloadUrl().toString());
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
progressDialog.dismiss();
Toast.makeText(UploadWallpaper.this,""+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("Upload: "+(int)progress+"%");
}
});
}
}
答案 0 :(得分:0)
我认为您使用的方法是deprecated
,并且已在较新版本的Firebase Storage中删除。要获取上传文件的网址,您需要在onSuccess(UploadTask.TaskSnapshot taskSnapshot)
内部运行另一个查询,例如:
ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String imageUrl = uri.toString(); //image url
}
})