图像必须是有效的base64格式,文件类型必须是.jpg格式错误

zzoitvuj  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(264)

好的,这是我第一次将图像从gallery发送到服务器。我使用SharedPreferences将图像从fragment发送到viewmodel。我的服务器希望它是字符串。我将它作为正文发送,其中包含我的服务器例外的不同数据。但是当我尝试发送图像时,我遇到了此错误。
我的碎片`

@Override
    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 1 && resultCode == RESULT_OK && data != null) {

            Uri selectedImageUri = data.getData();
            imgUriString = selectedImageUri.toString();
            try {
                bitmap = MediaStore.Images.Media.getBitmap(context.getContentResolver(), selectedImageUri);
                binding.addReceiptIB.setImageBitmap(bitmap);

            } catch (IOException e) {
                e.printStackTrace();
            }
            SharedPref.setImagePath(bitMapToString(bitmap));

//            //send this encoded string to server
        //    imgUriString = selectedImageUri.toString();
//                binding.addReceiptIB.setImageURI(selectedImageUri);

        }
    }

public String bitMapToString(Bitmap bitmap) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
        byte[] b = baos.toByteArray();
        return Base64.encodeToString(b, Base64.DEFAULT);
    }

`在我的视图模型中,我发送的图像如下:

private Map<String, Object> body() {
    model.setMonth(month);
    model.setYear(year);

    HashMap<String, Object> map = new HashMap<>();
    map.put("year", model.getYear());
    map.put("month", model.getMonth());
    map.put("memberId", model.getMemberId());
    map.put("expenseCategoryId", model.getExpenseCategoryId());
    map.put("expensePlace", model.getExpensePlace());
    map.put("date", model.getDate());
    map.put("amount", model.getAmount());
    map.put("note", model.getNote());
    map.put("image", model.getImage());
    Log.i("Sadrzaj mape", map.toString());
    return map;
}

这也是我在viewmodel中接收图像的方式:

public void onCickAddReceipt(View view) {
        model.setImage(SharedPref.getImagePath());
        callBack.onCickAddReceipt();
    }

奇怪的是我有一些基本的64

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

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题