【问题标题】:Android : Is it possible to send a Json Body and a Zip file by Content-Type", "multipart/mixed using HttpURLConnection?Android:是否可以通过 Content-Type 发送 Json Body 和 Zip 文件”、“multipart/mixed 使用 HttpURLConnection?
【发布时间】:2017-02-28 07:42:18
【问题描述】:

我需要使用 Content-Type", "multipart/mixed 并将 Json Body 发送为 Content-Type: application/json; charset=UTF-8 以及通过请求参数 "file" 通过 "Content-Type: text/xml" 发送的文件,可以任何机构解释如何做到这一点?

【问题讨论】:

    标签: android json http httpurlconnection multipartform-data


    【解决方案1】:

    是的,两者都可以发送,我希望您可能已经将图像作为文件发送到服务器。

    【讨论】:

      【解决方案2】:

      对于文件上传/下载,我总是依赖ION,这是一个 Android 异步网络库。您可以参考开发者提供的sample 之一来实现您的目标。

      我已经修改了示例供您参考,但设置可能会根据您的后端配置而有所不同。

      JSONObject body = new JSONObject();
      body.put("Your key", "Your value");
      
      Ion.with(getContext())
      .load("https://koush.clockworkmod.com/test/echo")
      .setMultipartParameter("body", body.toString()) // this your jsonBody
      .setMultipartFile("file", "application/zip", new File(your file path))
      .asJsonObject() // if you want to receive response in json, use this.
      .setCallback(...)
      

      【讨论】:

      • 感谢回复,但是 .setJsonObjectBody(body) 时不接受 .setMultipartFile("file", "application/zip", new File("/sdcard/filename.zip"))已添加
      • 你可以试试这个选项。您可以使用 setMultiPartParameter,而不是使用 setJsonObjectBody。 ... .setMultipartParameter("body", body.toString()) .setMultipartFile("file", "application/zip", new File("/sdcard/filename.zip"))。检查修改后的答案
      • 谢谢,但在这里我没有任何“密钥”可以将其作为字符串传递。我需要将 json 作为请求正文传递。一旦请查看此链接stackoverflow.com/questions/29975099/…,您可能会了解我的要求。
      • 我对你的要求很困惑。如果要发送Content-Type,不一定是JSON。你也可以使用 setMultipartParameter("Content-Type", "application/json") 或者你可以把它放在 header 中,比如 .addHeader("Content-Type", "application/json")。你可以在这里参考:stackoverflow.com/questions/25153340/…
      猜你喜欢
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 2014-11-18
      相关资源
      最近更新 更多