帮我找到一个解决方案..更新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+"%");
}
});
}
}发布于 2018-10-03 03:42:36
我认为你使用的方法是deprecated,在新版本的Firebase存储中被删除了。要获取上传文件的url,您需要在onSuccess(UploadTask.TaskSnapshot taskSnapshot)中运行另一个查询,例如:
ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String imageUrl = uri.toString(); //image url
}
})https://stackoverflow.com/questions/52614268
复制相似问题