使用OkHttp3发送MultipartBody

时间:2016-03-31 10:54:34

标签: android multipart okhttp3

我正在编写一个需要与服务器通信的Android应用程序。我正在努力为OkHttp3制作一个MultipartBody使用。我的代码如下所示:

OkHttpClient client = new OkHttpClient();

try 
{
    RequestBody requestBody = new MultipartBody.Builder()
                    .setType(MultipartBody.FORM)
                    .addFormDataPart("someKey1", "someString1")
                    .addFormDataPart("someKey2", "someString2")
                    .build();
    System.out.println(requestBody.toString());

    Request request = new Request.Builder()
                    .url("server url")
                    .post(requestBody)
                    .build();

    Response response = client.newCall(request).execute();
    return response;
}
catch (IOException e)
{
    e.printStackTrace();
    return false;
}

这几乎是每个人使用的标准代码。服务器收到请求,但我无法从请求中获取MultipartBody。打印多部分正文时,它看起来像这样:

I/System.out: okhttp3.MultipartBody@14040826

所以我的问题是:为什么它不包含我的数据呢?我错过了一个库(我在gradle中包含了编译'com.squareup.okhttp3:okhttp:3.2.0'并假设MultipartBody是该库的一部分)?什么是MultipartBody看起来像?

我也试过发送一个FormBody,但它看起来一样。

0 个答案:

没有答案