Es ist das erste Mal, dass ich mehrteilige Anfragen verschicke, und nachdem ich hier gegraben habe, bin ich noch verwirrter geworden, so dass jede Hilfe bezüglich des "richtigen" Weges sehr geschätzt wird.Wie senden Sie eine mehrteilige POST-Anfrage mit HttpURLConnection in Java?
Ich habe eine Funktion, die erhalten sollte: Dateipfad und eine Zeichenfolge Darstellung von JSON und senden POST-Anfrage an den Server mit Multipart.
Ich bin nicht sicher, wenn den boundary
und "multipart/form-data"
Inhaltstyp zu verwenden, und die Differenz zwischen addPart
und addTextBody
, und wenn (oder warum) es immer Content-Disposition: form-data; name=\
public String foo(String filePath, String jsonRep, Proxy proxy)
{
File f = new File(filePath);
HttpURLConnection connection;
connection = (HttpURLConnection) url.openConnection(proxy);
connection.setRequestProperty("Content-Type", "multipart/form-data"); // How should I generate boundary? Should it be added here?
if (myMethod == "POST")
{
connection.getOutputStream().write(? Both the json string and the file bytes??);
}
.... checking there is no error code etc..
return ReadResponse(connection) // read input stream..
Jetzt bin ich nicht sicher, wie es weitergeht und wie die Datei und den jSON-String zu schreiben habe ich diesen Code:
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addPart("upfile", fileBody);
builder.addPart("text1", stringBody1);
builder.addPart("text2", stringBody2);
Aber ich kann es nicht zu verstehen scheinen, wie 0 bis mein verbunden.
Können Sie bitte helfen?
Das exacly mein Problem ist. Ich kann nicht viele Informationen über die Verwendung von MultipartEntityBuilder und HttpURLConnection finden. –