我正在创建一个需要使用他们的 api 将图像上传到网络服务的 Activity 。
我发现如果我使用 UrlEncodedFormEntity 并通过它发送图像数据。网络服务没有收到。 (至少它无法读取那个。)
事实上,如果我添加一些变量与图像数据一起发送(如文件名、文件大小),它们可以从网络服务中读取,但如果我尝试在服务器端读取图像数据,图像数据仍然不会出现。
现在我正在使用 UrlEncodedFormEntity 和 BasicNameValuePair 作为我的数据的容器。
最佳答案
也许它会对你有所帮助。 我使用了相同的功能,但 Web 服务是我开发的。我使用以下方式发布图片:
我得到了特定的 Bitmap图标并将其压缩为字节数组,如下所示:
ByteArrayOutputStream out = new ByteArrayOutputStream(10240); icon.compress(CompressFormat.PNG, 100, out);
然后创建 HttpPost 并设置实体。
httpPostInstance.setEntity(new ByteArrayEntity(out.toByteArray()));
检查“内容类型”标题。您必须将其正确设置为您的服务期望的值。
关于android - 如何通过 HTTPPost 发送图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2217633/