compressToBitmap генерирует Java io.IOException, используя Compressor - PullRequest
0 голосов
/ 14 февраля 2019

Используя пакет Compressor, доступный из 'id.zelory: compressor', пытаясь понять, почему генерируется исключение java io.IOException для .compressToBitmap (actualFile);

У меня есть это в настоящее время

compressedImageBitmap = new Compressor(this)
                        .setMaxHeight(800)
                        .setMaxWidth(800)
                        .setQuality(2)
                        .compressToBitmap(image_file);   

и пытались реализовать это (ниже) .... но последняя строка (где .compressToBitmap () или .compressToFile ()) всегда генерирует ошибку io.IOException

compressedImage = new Compressor(this)
                        .setMaxHeight(800)
                        .setMaxWidth(800)
                        .setQuality(2)
                        .setCompressFormat(Bitmap.CompressFormat.WEBP)

.setDestinationDirectoryPath(Environment.getExternalStoragePublicDirectory(
                            Environment.DIRECTORY_PICTURES).getAbsolutePath())
                        .compressToFile(image_file);

Полный код ниже

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
            CropImage.ActivityResult result = CropImage.getActivityResult(data);
            if (resultCode == RESULT_OK) {

                resultUri = result.getUri();

                File image_file = new File(resultUri.getPath());

                compressedImageBitmap = new Compressor(this)
                        .setMaxHeight(800)
                        .setMaxWidth(800)
                        .setQuality(2)
                        .compressToBitmap(image_file);


                post_imageView.setImageBitmap(compressedImageBitmap);



            } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
                Exception error = result.getError();
            }
        }
    }

Он предназначен для того, чтобы взять файл образа и эффективно / быстро обработать его для хранения базы данных Firebase позже

...