【问题标题】:FirebaseStorage Url to Imageview AndroidFirebaseStorage Url 到 Imageview Android
【发布时间】:2020-07-14 17:33:16
【问题描述】:

我已成功将图片上传到我的 FirebaseStorage,但在放入 imageview 时遇到了问题。下面是我的代码想法来自Link 我似乎不知道我做错了什么。很多指导表示赞赏。

mUploadTask = ref.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {

            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                // Image uploaded successfully
                // Dismiss dialog
                progressDialog.dismiss();

                Task<Uri> result = taskSnapshot.getMetadata().getReference().getDownloadUrl();
                result.addOnSuccessListener(new OnSuccessListener<Uri>() {
                    @Override
                    public void onSuccess(Uri uri) {
                        String imageUrl = uri.toString();
                        Glide.with(CreateStory.this)
                                .load(new File(imageUrl)) // Uri of the picture
                                .into(mIvImage);

                added ........
               Log.w(TAG, "results... = " + imageUrl);
                    }
                });


                Toast.makeText(CreateStory.this, "Image Uploaded!!", Toast.LENGTH_SHORT).show();
            }
        }

日志文件如下,不为空,并从 firebase 存储 url 返回 Url 结果... = https://private...images%2Fdca96752-beeb-4331-8de0-1ad413b89b74?alt=media&token=98f30bec-aaa7-4bbc-ba29-09c761d68cae

【问题讨论】:

  • Glide.with(CreateStory.this).load(imageUrl).into(mIvImage);为什么要这样设置。
  • @KasımÖzdemir 我的意图是图像将在上传完成后显示。我做错了吗?非常感谢您的指导
  • 你做得对。 load(imageUrl) 对你来说已经足够了
  • 也不需要getMetadata()
  • @KasımÖzdemir 经过几轮测试,但总是显示空白,我做错了什么吗?

标签: android firebase firebase-storage


【解决方案1】:

感谢@KasımÖzdemir 的指导,我成功实现了我的目标。他/她也更正了我的代码。请参考下面的工作代码。干杯:)

       mUploadTask = ref.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {

            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                // Image uploaded successfully
                // Dismiss dialog
                progressDialog.dismiss();

                ref.getDownloadUrl().addOnCompleteListener(new OnCompleteListener<Uri>() {
                    @Override
                    public void onComplete(@NonNull Task<Uri> task) {

                        // get firebase storage url
                        String profileImageUrl = task.getResult().toString();
                        Glide.with(CreateStory.this).load(profileImageUrl).into(mIvImage);
                        Log.w(TAG, "image url = " + profileImageUrl + " | imageUri = " + imageUri);
                    }
                });

                Toast.makeText(CreateStory.this, "Image Uploaded!!", Toast.LENGTH_SHORT).show();
            }
        })

【讨论】:

    猜你喜欢
    • 2017-08-29
    • 2021-11-09
    • 2014-06-19
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    相关资源
    最近更新 更多