【问题标题】:Send byte array of a Bitmap using http post in android?在android中使用http post发送位图的字节数组?
【发布时间】:2011-10-10 10:18:18
【问题描述】:

在我的应用程序中,我需要使用 Http Post 调用 API 以将一些信息发送到 Web 服务器。所以我需要将用户 ID、姓名、电话号码和图像附加到网址。我需要将图像转换为字节数组并将其附加到 url。我使用了以下代码,但它对我不起作用。我刚得到一个像这样的字节数组[B@4055dd90

我的代码是

Bitmap bitmap1 = ((BitmapDrawable) d).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap1.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] bitmapdata = stream.toByteArray();

有人可以帮帮我吗?

提前致谢!

【问题讨论】:

  • 使用 JSON 发送多个值,我认为发送图像的字节数组是导致大图像内存不足。
  • Try this... 这就是您要搜索的内容。
  • @Knickedi 我没听懂你吗?我不知道我能从那个链接得到什么:(
  • 你的标题是Send byte array using post,你说我刚得到一个字节数组。提供的链接提示您如何使用 http post 发送字节数组,或者我出错了?

标签: android bitmap bytearray http-post


【解决方案1】:

两件事:

  1. 图像会变得非常大。因此,您最好使用 JPG,因为您可以压缩它(PNG 不压缩)。因此,您可以使用 Bitmap.CompressFormat.JPEG 并设置所需的压缩量。
  2. 在您的帖子中发送时,您应该像这样对字节[] 进行编码:Base64.encodeBase64String( bitmapdata);

让我知道这是否适合您。哦,别忘了在你的服务器端取消编码。

【讨论】:

    【解决方案2】:

    您不能将字节数组形式的图像直接发送到服务器。您必须在 Base64 类的帮助下将其编码为 Base64 字符串。将位图字节数组编码为 Base64 字符串,并借助 HTTPPost 方法将该字符串发送到服务器。如果您有任何疑问,可以发表评论。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-18
      • 2011-04-22
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多