Ich verwende Apache HttpClient
a Beitrag mehrere Dateien auf den Server. Hier ist der Code:
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, MultipartEntity
Klasse hat nur isChunked()
Methode (die immer false zurückgibt), gibt es keine "setChunked(boolean)" Option, wenn ich Chucked Encoding für meine Multipart Entity aktivieren möchte.
Meine Frage ist:
-
Können HTTP-Multipart und Chunking gemäß der Protokollspezifikation nebeneinander bestehen? Wenn nicht, warum dann andere Entitäten wie
InputStreamEntity
Klasse habensetChunked(boolean)
dondeMultipartEntity
nicht? -
Gibt es eine Möglichkeit, mehrere Dateien "auf einmal" mit Chunking aktiviert, vorzugsweise mit Apache-Bibliotheken zu posten?