我正在将文件上传到我的服务器,并期待 JSON 响应。我在我的 Android 应用程序上使用 okhttp,并像这样上传文件:
// create request body from file to upload
RequestBody fileBody = RequestBody.create(new File(multimediaFilePath), MediaType.parse(contentType));
MultipartBody multipartBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("multimediaFile", "profile.jpg", fileBody)
.addFormDataPart("multimediaFormat", fileExtension)
.build();
// create request object
Request requestObj = new Request.Builder()
.url(url)
.post(multipartBody)
.build();
// call okhttp client
OkHttpClient httpClient = new OkHttpClient();
Response responseObj = httpClient.newCall(requestObj).execute();
// get server response if successful call
if (responseObj.isSuccessful())
response = responseObj.body().toString();
问题是,我收到的响应不是服务器发送的响应,而是 okhttp 客户端的字符串函数 okhttp3.internal.http.RealResponseBody@5ff7632
有人可以帮我解决这个问题吗?
附注文件已成功上传。问题是,我无法获得服务器发回的响应
您应该使用 OkHttp 的
string()
函数,而不是 Java 的 toString()
函数。
response = responseObj.body().string();