2014-10-10 25 views
8

有沒有什麼方法可以使用Java api將圖像文件存儲在Firebase中?我可以使用Java API將圖像文件存儲在firebase中

+0

如何在轉換回位圖? – 2014-10-30 23:16:29

+2

@Binghammer很簡單。 byte [] imageAsBytes = Base64.decode(imageFile,Base64.DEFAULT); Bitmap bmp = BitmapFactory.decodeByteArray(imageAsBytes,0,imageAsBytes.length); – skabir 2014-11-03 02:39:16

+2

* Firebase剛發佈了一項名爲[Firebase Storage]的新功能(https://firebase.google.com/docs/storage/)。這允許您將圖像和其他非JSON數據上傳到專用存儲服務。我們強烈建議您使用它來存儲圖像,而不是將它們作爲base64編碼數據存儲在JSON數據庫中。* – 2016-05-20 04:27:16

回答

11

嘗試使用這段代碼:

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.chicken);//your image 
ByteArrayOutputStream bYtE = new ByteArrayOutputStream(); 
bmp.compress(Bitmap.CompressFormat.PNG, 100, bYtE); 
bmp.recycle(); 
byte[] byteArray = bYtE.toByteArray(); 
String imageFile = Base64.encodeToString(byteArray, Base64.DEFAULT); 

和檢索

public Bitmap stringToBitMap(String encodedString){ 
    try { 
     byte [] encodeByte=Base64.decode(encodedString,Base64.DEFAULT); 
     Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length); 
     return bitmap; 
    } catch(Exception e) { 
     e.getMessage(); 
     return null; 
    } 
} 
+3

如何從imageFile字符串顯示圖像? – 2014-10-30 23:16:01

+3

以下內容可幫助您將編碼的字符串顯示爲位圖。 byte [] decodedString = Base64.decode(imageFileString,Base64.DEFAULT); 位圖位圖= BitmapFactory.decodeByteArray(decodedString,0,decodedString.length); imageView.setImageBitmap(bitmap); – ernestkamara 2016-06-12 11:57:06

相關問題