сжатие выбранного файла изображения / снятого с камеры - PullRequest
0 голосов
/ 21 июня 2020

пытается разрешить пользователям добавлять изображения профиля, но я хочу сжать файл изображения перед его отправкой на сервер.

Как я могу сжать:

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

Пробовали и искали, но не смогли приступить к работе

    @Override
    public 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) {
                Uri resultUri = result.getUri();
                btnConfirm.setVisibility(View.VISIBLE);
                btnConfirm.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        File imageFile = new File(resultUri.getPath());

                        progressDialog.show();
                        AndroidNetworking.upload("https://myweb.com/uploadImg.php")
                                .addMultipartFile("image", imageFile)

Хотел бы получить совет, заранее спасибо.

1 Ответ

0 голосов
/ 21 июня 2020

Проверьте это

Uri selectedImage = imageReturnedIntent.getData();

InputStream imageStream = null;
try {
    imageStream = getContentResolver().openInputStream(
            selectedImage);
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

Bitmap bmp = BitmapFactory.decodeStream(imageStream);

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
try {
    stream.close();
    stream = null;
} catch (IOException e) {

    e.printStackTrace();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...