在上传到Firebase之前先压缩图像

问题描述

在我使用MVVM架构和Kotlin之前,我是用Java做到这一点的。

我正在将图像Uri传递给位图

Java代码

Bitmap actualImage1 = BitmapFactory.decodeStream(getContentResolver().openInputStream(mImageUri));

ByteArrayOutputStream baos = new ByteArrayOutputStream();
actualImage1.compress(Bitmap.CompressFormat.JPEG,30,baos);
byte[] finalImage = baos.toByteArray();

getContentResolver()无法被Kotlin识别。

如何用Kotlin编写代码,我又想将图像uri传递给位图

解决方法

我在科特林这样做

   val bitmap = MediaStore.Images.Media.getBitmap(
                            this.contentResolver,selectedPhotoUri
                        )