亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將捕獲的圖像或從圖庫中選擇的圖像轉換為 base64?

如何將捕獲的圖像或從圖庫中選擇的圖像轉換為 base64?

慕的地8271018 2021-12-30 16:27:02
用戶可以從圖庫中捕獲或選擇圖像。我想將該圖像上傳到服務器。這是我的相機代碼 -camera.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View v) {                    Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);                    //String encode = ImageBase64.encode(i);                    startActivityForResult(i, CAMERA_REQUEST);                }            });這是我從圖庫中選擇圖像的代碼 -gallary.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent g = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);                startActivityForResult(g, GALLARY_REQUEST);            }        });另外,我正在使用以下代碼顯示該圖像 -@Override    public void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if(resultCode == RESULT_OK) {            if(requestCode == CAMERA_REQUEST) {                Bitmap bitmap = (Bitmap) data.getExtras().get("data");                uploaded_img.setImageBitmap(bitmap);            }        }        if(requestCode == GALLARY_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {            Uri uri = data.getData();            uploaded_img.setImageURI(uri);        }    }現在,我想將此圖像轉換為 base64 并上傳到服務器。
查看完整描述

1 回答

?
弒天下

TA貢獻1818條經驗 獲得超8個贊

干得好:


public static String convertToBase64(String path) {

        Bitmap bm = BitmapFactory.decodeFile(path);

        ByteArrayOutputStream baos = new ByteArrayOutputStream();

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

        byte[] byteArrayImage = baos.toByteArray();

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

        return encodedImage;

    }



    public static Bitmap decodeFromBase64ToBitmap(String encodedImage) {


        byte[] decodedString = android.util.Base64.decode(encodedImage, android.util.Base64.DEFAULT);

        Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

        return decodedByte;

    }

我已經在我的項目中將它設為靜態,所以我不必創建類實例。


查看完整回答
反對 回復 2021-12-30
  • 1 回答
  • 0 關注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號