0

Also arbeite ich mit dem Hochladen von String-Pfaden in imageViews, und es funktioniert gut, aber meine IOS-App kann meine String-Pfade nicht verwenden, also muss ich auf Base 64-Strings umschalten. Wie konvertiere ich meinen String-Pfad in ein Base-64-Image und lade dieses in ein Imageview hoch, ohne dass ein Speicherfehler vorliegt?Wie konvertiert man einen String Image-Pfad zu Base64 String in Android?

Unten ist, was ich derzeit auf myActivityResult() habe.

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     addImageImageView.setVisibility(View.GONE); 
     if (requestCode == Constants.REQUEST_CODE && resultCode == RESULT_OK && data != null) { 
      //First we gotta make sure to add the images to 
      ArrayList<Image> imagesFromGallery = data.getParcelableArrayListExtra(Constants.INTENT_EXTRA_IMAGES);//Image is a personal object I made. 

      for (int i = 0; i < imagesFromGallery.size(); i++) { 
       images.add(imagesFromGallery.get(i).path); 
       LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
       lp.setMargins(20, 20, 0, 0);//5dp = 20 pixels 
       lp.height = 720;//180dp = 720pixels 
       lp.width = 1400;//330dp = 1320 pixels. 
       ImageView newImageView = new ImageView(this); 
       newImageView.setLayoutParams(lp); 
       Glide.with(this).load(imagesFromGallery.get(i)).centerCrop().into(newImageView); 
       imageLinearLayout.addView(newImageView, 0); 
      } 
    } 
+1

Siehe hierzu [link] (http://stackoverflow.com/questions/9224056/android-bitmap-to-base64-string). – ADM

Antwort

0

Sie können die Base64 Android-Klasse verwenden:

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

Sie werden zunächst Ihr Bild in ein Byte-Array konvertieren. Hier ein Beispiel:

Bitmap bm = BitmapFactory.decodeFile("/path/to/image.jpg"); 
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object 
byte[] b = baos.toByteArray(); 

so das ByteArrayImage ist b.

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

Also was wäre ByteArrayImage? – TheQ

+0

Ich habe meine Antwort bearbeitet. Wenn es nützlich ist, dann vergiss nicht, als richtige Antwort zu markieren. – Dharmishtha

Verwandte Themen