public String sendPostMultipart(HttpServletRequest request, InputStream uploadedInputStream, FormDataBodyPart body) { try { String fileName = body.getFormDataContentDisposition().getFileName(); HttpPost httpPost = new HttpPost(ME_URL); httpPost.setHeader("enctype", "multipart/form-data"); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addBinaryBody("avatar", uploadedInputStream, ContentType.create(body.getMediaType().toString(), "UTF-8"), fileName); Enumeration parameterNames = request.getParameterNames(); while (parameterNames.hasMoreElements()) { String paramName = parameterNames.nextElement(); String paramValue = request.getParameter(paramName); builder.addTextBody(paramName, paramValue); } HttpEntity entity = builder.build(); httpPost.setEntity(entity); CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity responseEntity = httpResponse.getEntity(); if (responseEntity != null) { json_result = EntityUtils.toString(responseEntity); } } catch (IOException ex) { WriteLog("[IOException] - className:" + ProcessRequest.class.getName() + " --- exception:" + ex); } return json_result; }