2017-08-06 93 views
0

我想將我的應用程序圖像轉換爲base64,因此它不會顯示在圖庫上。我嘗試了各種技術。該圖像來自一個zip文件,因此它在這一點上是一個字節數組。當我更改字節數組大小時,base64的長度發生變化。什麼是正確的字節數組大小?而base64編碼的圖像也不起作用。 主要代碼是 String encodedImage = Base64.encodeToString(buffer,Base64.DEFAULT); 緩衝區是字節數組(102400) 它也包含圖像。 的圖像是一個7KB文件和輸出爲400KBAndroid Image to Base64

+0

您可以使用Base64 Android類: String encodedImage = Base64.encodeToString(byteArrayImage,Base64.DEFAULT); –

+0

我在你的問題中包含你的答案。這對我不起作用。 –

+0

錯誤的解決方案。如果你想防止圖像出現在圖庫中,在該目錄中創建一個.nomedia文件,索引器將跳過它 –

回答

0

你可以試試下面的函數圖像轉換爲Base64

public void toStringImage(Bitmap bmp) { 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
    byte[] imageBytes = baos.toByteArray(); 
    String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT); 
} 

以上功能需要Bitmap圖像並將其轉換成Base64 encoded string。這是在我的項目中工作,我希望這也能幫助你。