How to upload an image in base64 on the server

I have a problem, I upload an image to the server, but it is not. I am converting an image to base64 and passing through json. but json is not closed properly due to i error. error id om postimafe variable. in this variable {"key"""encode

here json is not closed.

        // code for convert base64

        public static String getBase64String(String baseFileUri)
            {
                String encodedImageData  = "";
                try
                {
                    System.out.println("getBase64String method is called :" +baseFileUri);
                    Bitmap bm = BitmapFactory.decodeFile(baseFileUri);
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();  
                    bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object   
                    byte[] b = baos.toByteArray();
                    encodedImageData  = Base64.encodeToString(b, Base64.DEFAULT);
                    //ArrayList<NameValuePair> imagearraylistvalue = new ArrayList<NameValuePair>();
                    //imagearraylistvalue.add(new BasicNameValuePair("image", encodedImage));

                    System.out.println("encode data in upload file :" +encodedImageData );
                }
                catch(Exception ex)
                {
                    System.out.println("Exception in getBase64String method in Utility class :" +ex);
                }
                return encodedImageData ;
            }

        // code for json and uplod base64 to server but i m getting error

        System.out.println("fullupload image for 1:" +fulluploadimgpath);
    String base64String = Utility.getBase64String(fulluploadimgpath);
    System.out.println("base64String is in :" +base64String);
    if (base64String != null) 
{
JSONObject postImageData = new JSONObject();

postImageData.put("media",base64String);

 System.out.println("post image :" +postImageData);
HttpResponse imgPostResponse = Utility.postDataOnUrl(Utility.getBaseUrl()+"user/upload",obj.toString());
System.out.println("fullupload image for imgPostResponse:" +imgPostResponse);

     if (imgPostResponse != null)
 {

String imgResponse = Utility.readUrlResponseAsString(imgPostResponse);
System.out.println("imgResponse is in imgResponse :" +imgResponse);
if (imgResponse != null|| imgResponse.trim().length() != 0)
                                                    {
                                                        JSONObject jResObj = new JSONObject();
                                                            if (jResObj.getBoolean("rc"))
                                                            {
                                                            obj.put(hidobj.getReceiveAs(),jResObj.getLong("ident"));
                                                        }

}

      

+3


source to share


1 answer


String encodedImageData =getEncoded64ImageStringFromBitmap(your bitmap);

public String getEncoded64ImageStringFromBitmap(Bitmap bitmap) {
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.JPEG, 70, stream);
    byte[] byteFormat = stream.toByteArray();
    // get the base 64 string
    String imgString = Base64.encodeToString(byteFormat, Base64.NO_WRAP);

    return imgString;
}

      



+7


source







All Articles