第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

使用 Base64 將圖庫照片轉(zhuǎn)換為 BASE64 時獲取損壞的圖像字符串。

使用 Base64 將圖庫照片轉(zhuǎn)換為 BASE64 時獲取損壞的圖像字符串。

慕桂英3389331 2022-09-21 16:56:09
使用 Base64 編碼器從活動轉(zhuǎn)換圖庫照片時,我得到一個錯誤的 Base64 字符串。當(dāng)使用網(wǎng)站對此進行測試時,它是一個損壞的圖像。我的 ExpressAPI 在嘗試發(fā)布此字符串時,也會對字符串給出驗證錯誤。我已經(jīng)嘗試過使用不同的位圖變體,如工廠等。@Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        //call super        super.onActivityResult(requestCode, resultCode, data);        Uri imageUri = data.getData();        InputStream imageStream = null;        try {            imageStream = getContentResolver().openInputStream(imageUri);        } catch (FileNotFoundException e) {            e.printStackTrace();        }        final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);        encodedString = encodeImage(selectedImage);    } private String encodeImage(Bitmap bm)    {        ByteArrayOutputStream baos = new ByteArrayOutputStream();        bm.compress(Bitmap.CompressFormat.JPEG,100,baos);        byte[] b = baos.toByteArray();        String encImage = Base64.encodeToString(b, Base64.DEFAULT);        Log.d(encImage, "Image:");        return encImage;    }
查看完整描述

4 回答

?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

Java 在 base64 字符串中使用空格對位圖進行解碼,請嘗試以下操作:encodedString.replaceAll("\\s+","");



查看完整回答
反對 回復(fù) 2022-09-21
?
臨摹微笑

TA貢獻1982條經(jīng)驗 獲得超2個贊

試試這個:


public String encodeTobase64(Bitmap image) {

    Bitmap immagex=image;

    ByteArrayOutputStream baos = new ByteArrayOutputStream();

    immagex.compress(Bitmap.CompressFormat.JPEG, 100, baos);

    byte[] b = baos.toByteArray();

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


    Log.e("EncodedImage: ", imageEncoded);

    return imageEncoded;

}

在活動結(jié)果() 中使用下面的代碼


InputStream imageStream = null;

        try {

            imageStream = this.getContentResolver().openInputStream(selectedImage);

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        }

        Bitmap yourSelectedImage = BitmapFactory.decodeStream(imageStream);

        encodeTobase64(yourSelectedImage);


查看完整回答
反對 回復(fù) 2022-09-21
?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

您可以嘗試通過您選擇的文件的路徑來獲取位圖:


在您的 onActivity結(jié)果


Uri targetUri = data.getData();

String[] filePathColumn = { MediaStore.Images.Media.DATA };

Cursor cursor = getContentResolver().query(targetUri,

    filePathColumn, null, null, null);

cursor.moveToFirst();


int columnIndex = cursor.getColumnIndex(filePathColumn[0]);

//getting the actual path of the file

String path = cursor.getString(columnIndex);

cursor.close();


Bitmap bm = BitmapFactory.decodeFile(path);


//your encoding function is ok

encodedString = encodeImage(selectedImage);


查看完整回答
反對 回復(fù) 2022-09-21
?
人到中年有點甜

TA貢獻1895條經(jīng)驗 獲得超7個贊

右。。我已經(jīng)找到了答案?;旧?,Android認為在我的字符串中插入多個空格很有趣。

通過執(zhí)行此操作,您可以將其全部刪除:

activity.getEncodedString().replaceAll("\s+","")


查看完整回答
反對 回復(fù) 2022-09-21
  • 4 回答
  • 0 關(guān)注
  • 287 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號