Ich bin neu hier, also wenn einige meiner Terminologie wackelig ist, bitte bare mit mir. Ich schreibe eine Android-App, die mit einem Server kommunizieren muss. Ich bemühe mich, ein MultipartBody für OkHttp3 zu verwenden. Mein Code sieht so aus:Verwenden von OKHttp3 zum Senden eines 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;
}
Dies ist so ziemlich der Standardcode, den jeder benutzt. Der Server empfängt die Anforderung, aber ich kann MultipartBody nicht von der Anforderung abrufen. Wenn der mehrteiliger Körper gedruckt wird, sieht es wie folgt aus:
I/System.out: [email protected]
Also meine Fragen sind: Warum es nicht meine Daten enthalten und sollte es? Fehle ich eine Bibliothek (Ich habe kompiliert "com.squadeup.okhttp3: okhttp: 3.2.0 'in der Groß- und Kleinschreibung und davon ausgehen, MultipartBody ist ein Teil dieser Bibliothek)? Wie soll ein MultipartBody aussehen?
Ich habe versucht, einen FormBody zu senden, aber es sieht genauso aus. Kann mir bitte jemand helfen?
Ihre Antwort Siehe hier: http://stackoverflow.com/questions/24279563/uploading-a-large-file-in-multipart-using-okhttp –
Thank you, habe ich sieh dir diese Beispiele an. Mir geht es jedoch mehr darum, wie das MultipartBody aussehen sollte, wenn es in eine Zeichenfolge umgewandelt wird, um sicherzustellen, dass ich die richtigen Daten sende. – hgb
Moment, verwenden Sie NUR Multipart, weil Sie Dateien senden müssen? –