如何通过HTTPPost发送图像?

时间:2010-02-07 17:49:12

标签: android apache

我正在创建一个活动,需要使用他们的api将图像上传到网络服务。

我发现如果我使用UrlEncodedFormEntity并通过它发送图像数据。网络服务没有收到。 (至少它无法阅读。)

事实上,如果我添加一些vars与图像数据一起发送(如文件名,filesize),可以从webservice中读取它们,但如果我尝试在服务器端读取它,图像数据仍然不会出现。< / p>

现在我正在使用UrlEncodedFormEntity和BasicNameValuePair作为我的数据的容器。

1 个答案:

答案 0 :(得分:2)

可能会对你有所帮助。 我使用了相同的功能,但Web服务是由我开发的。我使用以下内容发布图片:

  1. 我得到了特定的Bitmap图标并按字节数组压缩它:

    ByteArrayOutputStream out = new ByteArrayOutputStream(10240);
    icon.compress(CompressFormat.PNG, 100, out);
    
  2. 然后创建HttpPost并设置实体。

    httpPostInstance.setEntity(new ByteArrayEntity(out.toByteArray()));
    
  3. 检查“内容类型”标题。您必须将其正确设置为您的服务期望。