Невозможно преобразовать ByteArrayResource в файл Multipart в Java - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь отправить файл Multipart, используя Rest api.Подвох перед отправкой файла, я архивирую содержимое и добавляю его в HttpEntity.Поэтому, когда он достигает конечной точки, Multipart не может его проанализировать и выдает исключение.

MissingServletRequestPartException "," message ":" Обязательная часть запроса 'file' отсутствует ".

Нужна помощь, чтобы решить эту проблему.

public void sendRecord(final byte[] compressedRecord) {

           final MultiValueMap<String, Object> multipartReq = new LinkedMultiValueMap<>();

           {
                final HttpHeaders zipHdr = new HttpHeaders();
                zipHdr.setContentType(MediaType.APPLICATION_OCTET_STREAM);
                final HttpEntity<ByteArrayResource> entity = new HttpEntity<>(new ByteArrayResource(compressedRecord), zipHdr);
                multipartReq.add(AppConstants.MULTIPART_FILE_LABEL, entity);
                log.info("multipartReq {}", multipartRequest);
            }

            final HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.MULTIPART_FORM_DATA);
            headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
            headers.setAcceptCharset(Collections.singletonList(StandardCharsets.UTF_8));

            final HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(multipartRequest, headers);
            this.retryableRestOperations.exchange(this.url, HttpMethod.PUT, requestEntity, Void.class);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...