更新Firebase后出现getDownloadUrl()错误

时间:2018-10-02 18:27:24

标签: java android

帮我找到解决方案..更新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+"%");
            }
        });

    }
}

1 个答案:

答案 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

                    }
                })