如何使用用户名检索和显示图像

问题描述 投票:1回答:1

我已经上传了带有用户ID的图片,但是。如何显示图像?使用uri,位图或其他方法?

这是我如何将图像上传到firebaseStorage。

    UploadTask uploadTask = FirebaseStorage.getInstance().getReference(userUid).child("MembersUser").putBytes(bytes);
    uploadTask
            .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

                    Toast.makeText(getActivity(), "Uploaded", Toast.LENGTH_SHORT).show();
                    imgprofile.setImageURI(uri);
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_LONG).show();

                }
            });

[这是我从firebaseStorage调用或下载图像的方式,但是当我们从firebaseStorage调用时,我不知道如何显示图像。

  StorageReference storageReference = FirebaseStorage.getInstance().getReference("" +currentUserID).child("image/jpeg");

    final long ONE_MEGABYTE = 1024 * 1024;
    storageReference.getBytes(ONE_MEGABYTE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
        @Override
        public void onSuccess(byte[] bytes) {

            imgprofile.setImageURI();
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {

        }
    });

[当我设置ImageUri时,我不知道在哪里打电话。

java android-studio firebase-storage
1个回答
0
投票

下载byte[] bytes后,可以执行以下步骤将图像重建为位图,然后将ImageView的位图设置为刚创建的位图:

   ....
    @Override
    public void onSuccess(byte[] bytes) {
         Bitmap bitmap= BitmapFactory.decodeByteArray(bytes,0,bytes.length);
         imageView.setImageBitmap(bitmap);
    }
   ....
© www.soinside.com 2019 - 2024. All rights reserved.