【问题标题】:error: cannot find symbol method getDownloadUrl() having this error [duplicate]错误:找不到具有此错误的符号方法 getDownloadUrl() [重复]
【发布时间】:2019-02-27 13:27:16
【问题描述】:

我正在创建一个 android 分类应用程序并坚持了 2 天,我不明白该怎么做,因为我是 firebase 和 android 的新手。我正在尝试从相机或 Firebase 上的存储上传图像。这是我的代码

private void executeUploadTask() {
    Toast.makeText(getActivity(), "uploading image", Toast.LENGTH_SHORT).show();

    final String postId = FirebaseDatabase.getInstance().getReference().push().getKey();

    final StorageReference storageReference = FirebaseStorage.getInstance().getReference()
            .child("posts/users/" + FirebaseAuth.getInstance().getCurrentUser().getUid() +
                    "/" + postId + "/post_image");

    UploadTask uploadTask = storageReference.putBytes(mUploadBytes);
    uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
        @Override
        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

            Toast.makeText(getActivity(), "Post Success", Toast.LENGTH_SHORT).show();

            //insert the download url into the firebase database
            Uri firebaseUri = taskSnapshot.getDownloadUrl();

            Log.d(TAG, "onSuccess: firebase download url: " + firebaseUri.toString());
            DatabaseReference reference = FirebaseDatabase.getInstance().getReference();

            Post post = new Post();
            post.setImage(firebaseUri.toString());
            post.setCity(mCity.getText().toString());
            post.setContact_email(mContactEmail.getText().toString());
            post.setCountry(mContactEmail.getText().toString());
            post.setDescription(mDescription.getText().toString());
            post.setPost_id(postId);
            post.setPrice(mPrice.getText().toString());
            post.setState_province(mStateProvince.getText().toString());
            post.setTitle(mTitle.getText().toString());
            post.setUser_id(FirebaseAuth.getInstance().getCurrentUser().getUid());

            reference.child(getString(R.string.node_posts))
                    .child(postId)
                    .setValue(post);

            resetFields();
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Toast.makeText(getActivity(), "could not upload photo", Toast.LENGTH_SHORT).show();
        }
    }).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
        @Override
        public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
            double currentProgress = (100 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
            if( currentProgress > (mProgress + 15)){
                mProgress = (100 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
                Log.d(TAG, "onProgress: upload is " + mProgress + "& done");
                Toast.makeText(getActivity(), mProgress + "%", Toast.LENGTH_SHORT).show();
            }
        }
    });
}

【问题讨论】:

  • 您检查过该方法名中没有错字吗?

标签: java android firebase-storage


【解决方案1】:

UploadTask.getDownloadUrl() 已弃用。请改用 StorageReference.getDownloadUrl()。

【讨论】:

    猜你喜欢
    • 2018-11-08
    • 2020-02-08
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2016-11-10
    相关资源
    最近更新 更多