Android OkHTTP Multipart-主体为空服务器端

时间:2018-12-29 04:21:31

标签: android node.js okhttp

我正在尝试将多部分数据(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());

1 个答案:

答案 0 :(得分:0)

删除setType(MultipartBody.FORM),看看是否可行。