我正在创建一个活动,需要使用他们的api将图像上传到网络服务。
我发现如果我使用UrlEncodedFormEntity并通过它发送图像数据。网络服务没有收到。 (至少它无法阅读。)
事实上,如果我添加一些vars与图像数据一起发送(如文件名,filesize),可以从webservice中读取它们,但如果我尝试在服务器端读取它,图像数据仍然不会出现。< / p>
现在我正在使用UrlEncodedFormEntity和BasicNameValuePair作为我的数据的容器。
答案 0 :(得分:2)
可能会对你有所帮助。 我使用了相同的功能,但Web服务是由我开发的。我使用以下内容发布图片:
我得到了特定的Bitmap图标并按字节数组压缩它:
ByteArrayOutputStream out = new ByteArrayOutputStream(10240);
icon.compress(CompressFormat.PNG, 100, out);
然后创建HttpPost并设置实体。
httpPostInstance.setEntity(new ByteArrayEntity(out.toByteArray()));
检查“内容类型”标题。您必须将其正确设置为您的服务期望。