android - 如何通过 HTTPPost 发送图片?

标签 android apache

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

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

事实上,如果我添加一些变量与图像数据一起发送(如文件名、文件大小),它们可以从网络服务中读取,但如果我尝试在服务器端读取图像数据,图像数据仍然不会出现。

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

最佳答案

也许它会对你有所帮助。 我使用了相同的功能,但 Web 服务是我开发的。我使用以下方式发布图片:

  1. 我得到了特定的 Bitmap图标并将其压缩为字节数组,如下所示:

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

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

关于android - 如何通过 HTTPPost 发送图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2217633/

相关文章:

java - 通过蓝牙 Android 传输文件

android - 如何在 Android 中获取已安装的应用程序而没有系统应用程序?

css - 允许重写引擎中的样式表

android - honeycomb中执行Http post报错

apache - JMeter jmx 文件损坏

android - Youtube 视频无法在 android 中播放(react-native)

java - 从图库中选择图像 android 5.1

android - 我怎样才能 "mount"Android 中的虚拟驱动器?

html - Apache2 cgi 无法在 html 页面中正确解析 css 链接

sql - PL/SQL ExcelDocumentType 文档名称错误