我正在编写一个需要与服务器通信的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,但它看起来一样。