0
我對此很陌生,所以如果我的一些術語不穩定,請和我一起裸照。我正在編寫一個需要與服務器通信的Android應用程序。我正在努力爲OkHttp3使用MultipartBody。我的代碼如下所示:使用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: [email protected]
所以我的問題是:爲什麼它不包含我的數據,應該嗎?我是否缺少一個庫(我在Gradle中包含了編譯'com.squareup.okhttp3:okhttp:3.2.0'並且假設MultipartBody是這個庫的一部分)?什麼是MultipartBody應該看起來像?
我試着發送一個FormBody,但它看起來一樣。有人可以幫幫我嗎?
見你的答案在這裏:http://stackoverflow.com/questions/24279563/uploading-a-large-file-in-multipart-using-okhttp –
謝謝,我做看看這些例子。然而,我更關心MultipartBody在轉換爲字符串時的外觀,以確保發送正確的數據。 – hgb
等一下,你不是隻使用multipart,因爲你需要發送文件嗎? –