9 Stimmen

Können HTTP-Multipart und Chunking nebeneinander bestehen?

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:

  1. Können HTTP-Multipart und Chunking gemäß der Protokollspezifikation nebeneinander bestehen? Wenn nicht, warum dann andere Entitäten wie InputStreamEntity Klasse haben setChunked(boolean) donde MultipartEntity nicht?

  2. Gibt es eine Möglichkeit, mehrere Dateien "auf einmal" mit Chunking aktiviert, vorzugsweise mit Apache-Bibliotheken zu posten?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X