Я пытаюсь загрузить файл XML.При добавлении файла в двоичном формате в HttpEntity с MultipartEntityBuilder я получаю следующую ошибку
org.apache.http.ProtocolException: The server failed to respond with a valid HTTP response
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:149) ~[httpclient-4.5.3.jar:4.5.3]
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56) ~[httpclient-4.5.3.jar:4.5.3]
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259) ~[httpcore-4.4.6.jar:4.4.6]
Я уже прошел по ссылке
https://www.baeldung.com/httpclient-multipart-upload
Myпонимание состоит в том, что файл не принимается, поскольку объект http не может отправить MultipartEntityBuilder, но я могу ошибаться.
HttpPost postRequest = new HttpPost("link to server");
postRequest.setHeader("name1", "value");
postRequest.setHeader("name2", "value2");
File file1 = new File(file.getOriginalFilename());
file1.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(file1);
fileOutputStream.write(file.getBytes());
fileOutputStream.close();
MultipartEntityBuilder multipartEntityBuilder =
MultipartEntityBuilder.create();
multipartEntityBuilder.addBinaryBody("file", file1);
HttpEntity httpEntity = multipartEntityBuilder.create().addPart("file", new FileBody(file1)).build();
postRequest.setEntity(httpEntity);