【发布时间】:2020-04-20 08:25:21
【问题描述】:
我正在尝试在 firebase 存储中上传图像,并且我希望图像不应大于 50 kb 我正在尝试获取位图的大小,以便我可以知道位图的大小是否超过 50 kb这 画廊的图像不会显示我尝试了许多人建议的许多代码,但没有一个对我有用。请帮我解决这个问题。这是我的代码:
@Override
protected void onActivityResult( int requestCode , int resultCode , @Nullable Intent data )
{
super.onActivityResult (requestCode , resultCode , data);
if(requestCode == ChooseImage && resultCode == RESULT_OK && data != null && data.getData() != null){
userProfileImage = data.getData ();
try {
Bitmap bitmap=MediaStore.Images.Media.getBitmap (getContentResolver ( ) , userProfileImage);
if (bitmap.getHeight () * bitmap.getRowBytes () < 50000)
profile_photo.setImageBitmap (bitmap);
btn.setOnClickListener (new View.OnClickListener ( ) {
@Override
public void onClick( View v ) {
uploaImage ();
}
});
} catch (IOException e) {
e.printStackTrace ( );
Toast.makeText (this , e.getMessage () , Toast.LENGTH_SHORT).show ( );
}
}
}
【问题讨论】:
-
试试 ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, 流); byte[] imageInByte = stream.toByteArray(); long sizeinkb = imageInByte.length / 1024;//大小以KB为单位
标签: java android firebase-storage image-size