Ich benutze Apache HttpClient
zu post mehrere Dateien zum Server. Hier ist der Code:Können HTTP-Multipart und Chunking koexistieren?
public static HttpResponse stringResponsePost(String urlString, String content, byte[] image,
HttpContext localContext, HttpClient httpclient) throws Exception {
URL url = new URL(URLDecoder.decode(urlString, "utf-8"));
URI u = url.toURI();
HttpPost post = new HttpPost();
post.setURI(u);
MultipartEntity reqEntity = new MultipartEntity();
StringBody sb = new StringBody(content, HTTP_CONTENT_TYPE_JSON, Charset.forName("UTF-8"));
ByteArrayBody ib = new ByteArrayBody(image, HTTP_CONTENT_TYPE_JPEG, "image");
reqEntity.addPart("interview_data", sb);
reqEntity.addPart("interview_image", ib);
post.setEntity(reqEntity);
HttpResponse response = null;
response = httpclient.execute(post, localContext);
return response;
}
Das Problem ist nur MultipartEntity
Klasse isChunked()
Methode (die immer false zurückgibt), gibt es keine „setChunked (boolean)“ Option, wenn ich wünsche geschmissen Codierung für meine mehrt Einheit zu ermöglichen.
Meine Frage ist:
Kann HTTP mehrteiliger und Chunking koexistieren nach Protokollspezifikation? Wenn nicht, warum andere Entitäten wie
InputStreamEntity
Klasse habensetChunked(boolean)
woMultipartEntity
nicht?Gibt es eine Möglichkeit, mehrere Dateien "auf einmal" zu veröffentlichen, wobei Chunking aktiviert ist, vorzugsweise mit Apache-Bibliotheken?