4

Can someone tell me the code to convert image into base64 string. i write the below code not getting proper result .

    String filepath = "/sdcard/Image/image1.jpg";
   File imagefile = new File(filepath);
        FileInputStream fis = null;
        try {
            fis = new FileInputStream(imagefile);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        Bitmap bm = BitmapFactory.decodeStream(fis);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();  
        bm.compress(Bitmap.CompressFormat.JPEG, 100 , baos);    
        byte[] b = baos.toByteArray(); 

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

Result im getting is not in proper format it ends with 3 dots ...

Byte array im getting ends with 3 dots ...

[-1, -40, -1, -32, 0, 16, 74, 70, 73, 70, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, -1, -37, 0, 67, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -37, 0, 67, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -64, 0, 17, 8, 1, 64, 0, -16, 3, 1, 34, 0, 2, 17, 1, 3, 17, 1, -1, -60, 0, 31, 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -60, 0, -75, 16, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125, 1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, -127, -111, -95, 8, 35, 66, -79, -63, 21, 82, -47, -16, 36, 51, 98, 114, -126, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, -125, -124, -123, -122, -121, -120, -119, -118, -110, -109, -108, -107, -106, -105, -104, -103, -102, -94, -93, -92, -91, -90, -89, -88, -87, -86, -78, -77, -76, -75, -74, -73, -72, -71, -70, -62, -61, -60, -59, -58, -57, -56, -55, -54, -46, -45, -44, -43, -42, -41, -40, -39, -38, -31, -30, -29, -28, -27, -26, -25, -24, -23, -22, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -1, -60, 0, 31, 1, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -60, 0, -75, 17, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119, 0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, -127, 8, 20, 66, -111, -95, -79, -63, 9, 35, 51, 82, -16, 21, 98, 114, -47, 10, 22, 36, 52, -31, 37, -15, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, -126, -125, -124, -123, -122, -121, -120, -119, -118, -110, -109, -108, -107, -106, -105, -104, -103, -102, -94, -93, -92, -91, -90, -89, -88, -87, -86, -78, -77, -76, -75, -74, -73, -72, -71, -70, -62, -61, -60, -59, -58, -57, -56, -55, -54, -46, -45, -44, -43, -42, -41, -40, -39, -38, -30, -29, -28, -27, -26, -25, -24, -23, -22, -14, -13, -12, -11, -10, -9, -8, -7, -6, -1, -38, 0, 12, 3, 1, 0, 2, 17, 3, 17, 0, 63, 0, -2, 55, -96, -76, 100, 41, 28, -111, -96, 46, -119, 50, 16, -79, -78, 60, 82, 2, -24, -24, -56, 28, 72, -82, -84, 14, -32, 91, 57, 57, 32, -115, -75, -83, 109, 102, -84, 91, 116, 104, 62, 98, 48, 85, 114, 112, 100, 3, -8, -77, -43, 65, 35, 29, 54, -110, 9, 14, 79, 23, -16, -9, -58, -87, -31, -23, -51, -114, -79, 4, 87, -102, 52, -78, 42, -77, 77, 2, 75, 62, -98, 36, 117, 13, 53, -69, -19, 50, -120, -14, -101, -27, -122, 51, -109, -110, -15, 41, 125, -55, 39, -40, -98, 23, -45, -4, 55, -30, 27, 8, -38, -34, 11, 107, -44, 107, -107, 72, -18, 34, 75, 89, 101, 116, 36, 75, 27, -106, 80, -53, 30, -27, 32, 49, 92, -122, 80, -39, -52, -65, 53, 124, 116, -16, 110, 28, -51, -22, -106, -51, 39, 103, -85, 87, -14, -8, 123, -11, 119, 109, -92, 121, -76, 49, -111, 106, -17, 118, -105, -90, -22, -18, -51, -89, -25, 109, -10, -46, -41, 103, -126, 91, -38, -94, -85, 110, -120, 12, 54, 7, -55, -114, -101, -3, -119, 3, 104, 28, -25, -44, 2, 48, -39, -47, -122, -51, 112, -37, 17, 71, 0, 16, 20, 1, -116, -65, 25, 62, -92, 100, -109, -58, 119, 100, -28, -28, -3, -109, 101, -32, 111, 14, 61, -66, 95, 65, -79, -109, -26, 84, 57, -75, -116, 56, -35, 51, -122, 98, 66, 70, 66, -87, -25, 110, 114, -87, -72, -86, 2, 49, 93, 61, -81, -61, 31, 8, 58, 21, 109, 2, -60, -107, -57, 43, 27, 12, -106, 103, 39, 44, 8, 99, -128, 120, 29, 66, -32, 12, -107, -7, -79, 88, 121, 61, -91, 123, 37, -41, -94, 106, -35, 63, -90, -41, 84, -17, -46, -79, 84, -19, -83, -42, -35, 63, -59, -25, -27, -75, -5, -85, -67, 89, -7, -17, -81, -8, 70, -49, 94, -77, 49, 58, 8, 110, -112, 31, -78, 93, 32, 27, -30, -109, 46, 118, -66, 6, 100, -115, -103, 70, -12, 39, 118, 55, 0, -63, -64, 39, -61, 111, 52, -21, -35, 30, -12, 89, 95, 90, 70, -109, 90, 72, -82, 85, -30, 30, 85, -60, 32, -66, 26, 55, 0, 52, -80, -54, -96, 16, -63, -125, 114, 87, 34, 84, 106, -3, -109, -75, -8, 57, -32, -126, -30, 71, -48, 109, -9, 22, 24, 6, -25, 80, 84, 57, 50, 19, -14, 37, -54, -115, -72, 24, 94, 2, -125, -114, 114, -96, -41, 61, -29, -113, -39, -97, -31, -1, 0, -116, 116, 59, -69, 59, 27, 67, -93, -21, 17, -62, 100, -46, -75, 40, -26, -71, -105, -20, 119, 96, 57, -37, 44, 18, -36, 58, -49, 103, 113, -64, -70, -124, -31, -54, -108, 120, -27, 73, 86, 22, -81, 71, 11, 57, -46, -117, -89, 55, 120, -69, 90, -41, -70, -42, 87, -66, -119, 90, -38, -37, 93, -35, -84, -73, -31, -59, 58, 53, -105, 52, 18, -25, -70, -43, -11, -43, 119, -12, -35, 121, 95, 85, -81, -29, -35, -18, -98, 86, 89, -54, 36, 41, 21, -68, 74, -32, -85, -57, 25, 49, -76, -125, 110, 16, -112, -46, 76, 60, -59, 14, -86, -90, 77, -120, -52, 81, -43, 36, -112, -25, 27, 72, -38, 41, -92, 18, 29, -31, -45, 108, 126, 81, 6, 72, -56, -108, -68, -103, 14, 66, -104, -10, -95, -37, -50, 67, -71, -36, 54, 18, 125, -109, -57, 30, 13, -15, 47, -125, 124, 67, 123, -31, -49, 24, 88, -83, -83, -12, 46, -78, 69, 40, -116, 125, -98, -14, -38, 77, -48, -61, -88, 88, 79, 18, -60, 39, -79, -106, 52, -52, 126, 90, -97, 46, 85, -110, -34, 72, -31, -71, 91, -104, -85, -128, -109, 79, -98, -56, -83, -62, 5, 56, -108, -7, 44, 85, 27, -26, -122, 70, -36, 93, 28, -78, -100, 48, 25, 87, -32, -126, 87, 44, -124, -77, 122, 42, 55, -115, -42, -82, -17, -81, 75, -7, -11, -74, -66, 123, 110, 121, -100, -42, -109, -117, -46, -38, 126, -114, -9, 122, 126, 127, 61, 78, 42, 61, -88, -50, 48, 50, -96, -20, -32, 16, -60, 49, -57, 94, -128, -125, -44, 100, -6, -100, 19, 90, -38, 124, -78, -38, -50, -109, -37, 22, 89, -61, -58, -54, -15, 41, 51, 44, -118, -25, 97, -117, -111, -110, 27, -26, 10, 78, 9, 37, 65, -36, 55, 30, -81, -5, 4, -21, 17, 92, -21, 49, 62, -97, 98, -86, -115, 53, -22, 8, -38, -34, 8, -89, 15, 34, -104, 45, -31, 70, -107, -53, -56, -116, -73, 9, 20, 106, 124, -46, -14, 45, -72, 103, -115, -31, 94, 102, 21, -114, 53, -99, -36, -54, -78, -57, -27, -76, 5, 2, -107, 47, -26, 48, 62, 97, 103, 13, 24, -40, 55, 35, 40, 98, 31, 106, -107, 1, -117, -44, 90, -21, -110, -41, -69, -73, -101, -69, 106, -33, -7, 43, -13, -13, -22, -9, -91, 86, 84, -99, -42, -85, 71, 111, -101, 77, -4, -41, 79, 61, 118, 76, -6, 83, -64, -2, 38, -121, 92, -119, 109, 47, -46, 40, 53, 63, 37, 89, 11, 5, 72, -75, 8, -47, -103, 90, 107, 115, -48, -56, -90, 51, -10, -120, 65, 37, 25, 89, -108, 21, -13, 21, 125, 122, -46, -34, 33, -100, -94, -87, -62, 14, 80, 99, -17, 74, 7, 108, -29, -100, 12, -14, 73, 61, -41, 39, -31, -51, 47, 81, -72, -73, -106, 48, 37, -100, 71, 4, -53, 50, 8, -27, 43, 44, 50, -110, 51, 37, -69, -100, -108, 114, 85, 11, 1, -14, -74, 62, 98, 88, 43, 15, -45, 127, -39, -105, 79, -8, 95, -15, 94, 59, 127, 11, -8, -53, 82, -41, 52, 47, 24, -55, 10, -49, -90, -51, 5, -10, -101, 5, -121, -120, -83, 84, 72, -57, -20, 11, 119, -89, -54, 63, -76, 97, 69, 111, -76, -39, 2, -19, 49, 13, 61, -85, 21, 55, 86, -15, -8, 88, -84, -79, -58, 115, -100, 91, -77, 122, -57, -86, -43, -66, -49, 116, -81, -9, 106, -37, -69, -6, 124, 6, 105, 79, -39, -72, -44, 87, -27, 105, 38, -76, 111, -43, 53, -39, 59, -83, -43, -45, -69, 91, -16, -55, -90, -58, -56, -89, -55, 66, 64, 93, -89, 106, -112, 126, -10, 0, 59, 112, 71, 10, 121, -25, 56, 57, -56, 10, 121, 127, 23, 124, 58, -80, -15, 85, -117, 43, 69, 21, -75, -12, 104, 90, -38, -19, 33, 92, -85, -110, -33, -70, -103, 84, 102, 72, 36, 35, 59, 9, -7, 10, -121, 83, -71, 73, -81, -43, 24, 127, 100, 79, 6, -49, 111, -74, -45, -60, 62, 35, -126, 77, -111, -76, 111, 51, 105, -110, -123, 37, 100, -36, -78, 68, -70, 117, -66, -16, 73, 12, 0, 117, 117, 1, -108, -106, 37, -98, -81, -89, -20, 113, -31, -13, 17, -14, -68, 75, -84, 76, -25, -27, -115, -28, -114, -59, 99, 12, 60, -44, 27, -31, 88, 67, 48, -32, 49, 38, 85, -34, 89, -41, 112, 35, 121, -32, -93, 71, 19, 66, -85, -87, 7, -42, 43, -15, 94, 111, 126, -34, -73, 76, -17, -87, -104, 96, -22, -46, -107, 41, -87, 114, -55, 89, -69, 59, -17, 117, 107, 54, -109, 77, 43, 125, -51, -37, -103, -53, -7, -16, -43, 124, 55, 125, -94, -34, -36, 105, -6, -115, -89, -109, 52, 7, 105, 44, -124, -84, -86, 90, 93, -78, -62, -37, 113, 36, 114, 42, -18, 12, 56, 25, 32, -31, -127, 90, -65, -31, -35, 86, -21, -61, -9, 73, 52, 39, -52, 70, 32, 50, -80, -54, 58, -125, -13, 71, 32, 99, -62, -28, 3, 25, 31, 50, -98, -8, -36, 91, -9, 23, -57, 63, -80, 47, -122, -4, 93, -91, -49, 108, 60, 85, -88, -39, 107, 16, 71, 112, -38, 109, -11, -58, -107, 103, 36, 81, 92, 108, -109, -55, 91, -119, 32, -103, 100, -106, -51, -91, 8, 46, 4, 100, -4, -123, -34, 21, 18, -18, -49, -29, -49, -60, -81, -123, -34, 45, -8, 83, -30, -99, 83, -63, -34, 50, -46, 31, 77, -43, 44, 37, 64, 80, -30, 75, 107, -69, 103, 51, 8, 117, 13, 58, -17, -124, -68, -80, -69, 68, 15, 5, -60, 120, 5, -119, -118, 84, 75, -120, -26, -116, 125, 69, 26, -85, 23, 67, -39, -44, 75, -98, -47, 82, -113, 71, 119, 56, -20, -45, -20, -92, -99, -19, -75, -35, -36, 91, -7, 106, -109, 88, 90, -41, -94, -17, 11, -90, -98, -87, -39, 59, -23, -82, -6, 95, -43, 110, -9, 61, -105, -61, -102, -123, -122, -75, 101, 29, -35, -80, 67, -57, -17, -94, 1, 75, -60, -37, -100, 20, 113, -116, -16, -33, 50, -100, 96, -85, 100, -74, 0, -49, 101, 22, -97, 1, 37, -74, 38, 24, 115, -75, 87, 29, 91, -87, 11, -23, -44, 114, 121, 25, -28, 12, -4, -103, -31, -97, 17, -35, -8, 126, -11, 39, -123, -63, -119, 54, -58, -47, -53, -111, 28, -111, 101, -127, -118, 80, -93, -25, 80, 71, -53, 38, 12, -120, 74, -112, -27, 70, 43, -11, 7, -31, 7, -63, -115, 59, -29, 55, -125, -94, -15, 63, -124, 124, 111, -90, 77, -121, -14, 117, 93, 26, 93, 54, 84, -43, 52, 107, -35, -68, 90, 94, -94, -33, -70, -122, 108, 9, 109, -26, 5, -83, -18, -96, 127, 58, 9, 100, 10, -32, 124, -50, 55, 45, -85, 66, -92, -1...

and base64 string im getting also ends with 3 dots which is not proper

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...

but when i convert image from my drawable resource im getting proper base64 string

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bmp.compress(Bitmap.CompressFormat.JPEG, 100, stream);
    byte[] byteArray = stream.toByteArray();
    String testa = Base64.encodeBytes(byteArray);

can any buddy tell me what im doing in above code Thanks in advance

0

2 Answers 2

2

Try this.

File imageFile = new File("/sdcard/gallery_photo_4.jpg");
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath());
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
byte[] image = stream.toByteArray();
String img_str = Base64.encodeToString(image, 0);
Sign up to request clarification or add additional context in comments.

2 Comments

im getting same result ends with 3 dots is this related to image size because my image is to big as compair to available drawable image in android drawable resource it is just 4 kb and my image is 600 kb
This is a good answer for small images. However, for bigger images, this will likely cause an OutOfMemory exception because you are putting the whole byte[] into memory. The way to fix is to encode to Base64 on the fly using the stream.
1

I dare say that dots on the end are just placeholder for display of values too long for display / printout as byte array. There is nothing wrong with your base64 encoding code, but why are you recording JPEG? Just read your file in byte array ( not in one gulp but chunked, I would choose buffer size to be multiple of 4 ), convert it on the fly and write it into output stream.

PS: reading while files are in android is bad practice, as memory is very constrained - you will have bad performance.

Here is the sample code but I'm too lazy to compile or debug it:

while(( size = inputStream.read(inputBuffer)) != -1 ) {
    // arraycopy only if necessary
    outBuf = Base64.encodeBytes(System.arrayCopy(inputBuffer...))   
    outputStream.write(outBuf);
}

This is not the most optimal solution though, as arraycopy potentially copies data ( but this has to be done on last chunk )

2 Comments

FileInputStream mFileInputStream; try { String encoded = null; mFileInputStream = new FileInputStream(imagefile); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] b = new byte[1024]; int bytesRead = 0; try { while ((bytesRead = mFileInputStream.read(b)) != -1) { bos.write(b, 0, bytesRead); encoded = encoded + Base64.encodeBytes(b); } byte[] ba = bos.toByteArray(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }
You are using a technique which ought to be avoided. Do not ever concatenate strings with "+" especially in loops and on android or your quality engineer / performance tester / PM will lynch you on the spot. When you have read byte chunk out of stream, pass it ( or subarray ) to encoder and write resulting byte array into output stram on the spot. This will prevent a lot of memory allocations and greatly improve performance.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.