簡體   English   中英

如何從Android中的位圖獲取圖像的原始字符串?

[英]How to get raw string of an image from Bitmap in android?

我正在制作一個可以讓人們拍照和上傳照片的應用程序。 我目前有一個表示照片的Bitmap對象,我想將其發布到服務器上。

不幸的是,服務器期望jpg的原始文本(就像您在Linux上鍵入cat /path/to/jpg所看到的一樣)。

如何將我的Bitmap轉換為這種String

我猜想您的服務器需要一個Base64編碼的圖像字符串,而不僅僅是cat /path/to/jpg的字符串。

要獲取Base64字符串,可以使用:

ByteArrayOutputStream out = new ByteArrayOutputStream();  
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out); // '100' is quality
byte[] byteArray = out.toByteArray();
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);

假設您的Bitmap圖片被bitmapImage引用了-

Bitmap bitmapImage = //your code for getting Bitmap

現在創建一個ByteOutputStream

ByteArrayOutputStream byteOutptuStream = new ByteArrayOutputStream();  
bitmapImage.compress(Bitmap.CompressFormat.JPEG, 100, byteOutptuStream); 
byte[] byteArray = byteOutptuStream.toByteArray();  

然后使用Base64編碼對圖像進行編碼-

String imageAsString = Base64.encodeToString(byteArray, Base64.DEFAULT); 

更新:如果您想跳過Base64編碼,則可以使用以下任一代碼段-

String imageAsString2 = new String(byteArray, "UTF-8"); 
String imageAsString3 = new String(byteArray);
String imageAsString4 = new byteArray.toString();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM