【问题标题】:Multipart base64 image posting in javajava中的多部分base64图像发布
【发布时间】:2013-04-22 06:19:01
【问题描述】:

我有一个 httpurlconnection 代码,用于将数据发布到服务器。当我尝试发送小数据时没关系,但是当我尝试发送 base64 图像字符串时,服务器没有正确接收到该字符串。我检查了从 jpg 转换的 base64 字符串,编码没问题。因此,导致字符串损坏的 http 进程存在问题。最初我认为可能是导致问题的大图像,但使用非常小的图像只会将部分图像传输到服务器,其余部分已损坏。 有人可以建议我如何将 base64 图像字符串发送到服务器。我的代码如下:

HttpURLConnection hpcon= (HttpURLConnection) Url.openConnection();
        hpcon.setRequestMethod("POST");
        hpcon.setConnectTimeout(5 * 1000);
        hpcon.setDoOutput(true);
        OutputStreamWriter osw= new OutputStreamWriter(hpcon.getOutputStream());
        osw.write(data);
        osw.close();

数据类似于:

key=YeP1r&nodeId=5&typeId=9&status=0&eventImage=imageString

【问题讨论】:

  • @Anirudh 它是其他参数,例如使用的密钥和 base64 图像字符串以及服务器处理所需的其他此类参数。
  • 您没有设置任何内容类型,您是否尝试过明确设置Content-Type
  • 应该是“text/plain”还是我需要为base64添加一些特定的东西? hpcon.setRequestProperty("Content-Type", "text/plain; charset=utf-8");
  • @NandkumarTekale 已经这样做了。我不知道为什么,但每次我在代码中添加一行尝试指定任何内容类型(utf 或多部分)时,都不会将图像发布到服务器。事实上,没有请求发送到服务器。如果我删除这些行,则会发送图像,但如前所述,它已损坏。

标签: java string image base64 httpurlconnection


【解决方案1】:

找不到使用 HttpUrlConnection 的直接解决方案。 使用:来自 apache 的 httpClient。 实际上很容易使用。
Last example multipart

【讨论】:

    猜你喜欢
    • 2014-11-21
    • 1970-01-01
    • 2013-07-19
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多