Tôi đang sử dụng apache HttpClient
để đăng một số tệp vào máy chủ. Dưới đây là các mã:Có thể ghép nối và ghép nối HTTP không?
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;
}
Vấn đề là, MultipartEntity
lớp chỉ có isChunked()
phương pháp (mà luôn luôn trả về false), không có "setChunked (boolean)" tùy chọn nếu tôi muốn kích hoạt mã hóa chucked cho tổ chức nhiều phần dữ liệu của tôi.
Câu hỏi của tôi là:
thể HTTP cùng tồn tại nhiều phần dữ liệu và chunking theo đặc điểm kỹ thuật giao thức? Nếu không, tại sao các thực thể khác như
InputStreamEntity
lớp học cósetChunked(boolean)
trong đóMultipartEntity
thì không?Có cách nào để đăng nhiều tệp "cùng một lúc" với chunking được bật hay không, tốt hơn nữa là với thư viện apache?