我已经上传了带有用户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时,我不知道在哪里打电话。
下载byte[] bytes
后,可以执行以下步骤将图像重建为位图,然后将ImageView的位图设置为刚创建的位图:
....
@Override
public void onSuccess(byte[] bytes) {
Bitmap bitmap= BitmapFactory.decodeByteArray(bytes,0,bytes.length);
imageView.setImageBitmap(bitmap);
}
....