首页 > 解决方案 > Android OkHTTP Multipart - 正文是空的服务器端

问题描述

我正在尝试将多部分数据 ( image & JSON) 发送到我的服务器,但是当我尝试使用okHttp多部分正文时,服务器上的请求正文始终为空,在这种情况下我会期待 {fieldname: "some field name" }

超级坚持这一点,所以任何帮助将不胜感激。我可以用 RequestBody 做一个正常的身体,效果很好,一个只有一个图像的多部分正文,它只是一个多部分中的双重 JSON 和图像似乎没有通过 json 正文发送。

注意:我已经尝试过此操作,但未将图像/文件包含为表单数据部分,以查看 field_name 现在是否会显示在 req 正文服务器端,但这也不起作用。

    RequestBody multiPartForm = new MultipartBody.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("field_name", "some field name")
            .addFormDataPart("image", "somefile.jpg", RequestBody.create(MEDIA_TYPE_JPG, new File(getPath(uri))))
            .build();


    String apiRoute = apiURL + '/' + route;
    Request.Builder reqBuilder = new Request.Builder();

    reqBuilder.header("x-access-token", APIToken);

    Request.Builder builder = reqBuilder.url(apiRoute);
    builder.post(multiPartForm);

    return client.newCall(builder.build());

标签: androidnode.jsokhttp

解决方案


删除setType(MultipartBody.FORM)并查看是否有效。


推荐阅读