0

I wish to convert photo to base64, and the photo is from my external SD card. I have try out this code :

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_picture);

    File yourFile = new File(Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES), "MyCameraApp/Hello.jpg");
    Bitmap bm = BitmapFactory.decodeFile(String.valueOf(yourFile));

    ByteArrayOutputStream baos = new ByteArrayOutputStream();

    bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);

    byte[] byteArrayImage = baos.toByteArray();

    String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);

    TextView textView = (TextView) findViewById(R.id.simpleTextView);

    textView.setText(encodedImage); //set text for text view

}

But in logcat show me bm.compress(Bitmap.CompressFormat.JPEG, 40, baos); have error, anyone can share me ideas?

logcat error:

enter image description here

Shi Jie Tio
  • 2,479
  • 5
  • 24
  • 41

0 Answers0