这是我用于从Image转换为Base64的代码块:
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(), R.drawable.image);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 100, bao);
byte [] ba = bao.toByteArray();
String imgStr =Base64.encodeToString(ba,Base64.DEFAULT);
但我知道我们也可以将图像转换为二进制数据。 所以只想知道在Android中使用Base64编码图像的缺点和优点。我应该使用Base64或二进制数据通过消息传输图像。
答案 0 :(得分:1)
您不应该通过gcm服务器发送图像。它根本不是为此而设计的。您应该发送链接和其他信息,然后在客户端(服务器 - >客户端推送)上用于从服务器获取数据。
当将二进制数据作为字符串传输时经常使用Base64,在这种情况下这是愚蠢的,因为它增加了需要传输的数据的大小,并且您可以直接使用二进制数据直接对服务器执行POST。