[英]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.