everyone. I am stuck on this project I am working on. I want to be able to upload an image from the android gallery, encode that image to a base64 string and send to PHP web service, as a get variable, then decode the image from the other end and do with it as I wish.

So far I am able to select the image, from the gallery and even encode to base64 string and storing in android preference.

The problem is, I think that not all the string is being sent to the PHP service (Some is truncated).

Why do I think so? My Log.d showed me different strings when dumped at different locations.

The code that gets the image and encodes is:-

```
private void galleryIntent()
{
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Please select a file"),1);
}

private String onSelectFromGalleryResult (Intent data) {

    if (data != null) {
        try {
            bitmap = MediaStore.Images.Media.getBitmap(getContext().getContentResolver() , data.getData()) ;
        } catch (IOException e) {
            e.printStackTrace();
        }

        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream() ;

        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream) ;

        byte[] imageBytes = byteArrayOutputStream.toByteArray() ;

        Log.d ("Selected Image Gallery" , Base64.encodeToString(imageBytes, Base64.DEFAULT)) ;

        return Base64.encodeToString (imageBytes, Base64.DEFAULT) ;
    } else {
        return null ;
    }
}

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

    SharedPreferences sharedPreferences =  getContext().getSharedPreferences("MyOnActivityResultPref" , Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit() ;

    if (resultCode == Activity.RESULT_OK) {

        if (requestCode == 1) {
            /*Here we handle the image gotten from the gallery*/
            String encodedGalleryImage = onSelectFromGalleryResult(data);

           editor.putString("userEncodedGalleryImage" , encodedGalleryImage);

        } else if (requestCode == 0) {
            /*Here we handle the image that was take using the camera*/

        }

        editor.apply();
    }
}

```

Here we call the asynctask class

```
private void callAsynctask () {
  SharedPreferences sp = getContext().getSharedPreferences("MyOnActivityResultPref" , Context.MODE_PRIVATE);

    String userQuestionAttachement = sp.getString("userEncodedGalleryImage" , "") ;

Log.d("callingEncodedImage" , userQuestionAttachement) ;
}

```

The problem I have is that the log from Log.d ("Selected Image Gallery" , Base64.encodeToString(imageBytes, Base64.DEFAULT)) ; is different from Log.d("callingEncodedImage" , userQuestionAttachement) ;

There both have same beginning, but different endings. I expect to see the same characters.

Can someone please help me sort it out?