Получать многораздельный HTTP-ответ в Angular GUI - PullRequest
0 голосов
/ 09 июля 2020

Я хочу вызвать службу REST из Angular, которая возвращает составной ответ MIME. Ответ состоит из двух частей:

  1. двоичный файл (pdf)
  2. структура JSON с некоторой информацией о файле

У меня есть уже работающий клиент Java для службы REST.

Теперь я хочу вызвать службу из веб-браузера с помощью клиента Angular GUI.

Я попытался вызвать Служба REST с httpclient Angular и получить ответ в виде строки. Я проанализировал строку и смог отделить двоичный файл от части JSON. Обычно я разделяю строку, используя граничную строку в составном сообщении.

Проблема: Часть с двоичным файлом повреждена. Это означает, что некоторые двоичные значения были заменены последовательностью UTF-16 «0xEF 0xBF 0xBD», которая является символом замены UTF-16 для двоичных значений, которые не могут быть сопоставлены с UTF-16.

Очевидно, это не был хорошая идея сопоставить составной ответ с двоичным содержимым со строкой. Я мог бы закодировать двоичную часть с помощью BASE64 перед ее отправкой, но это именно то, чего я хотел избежать.

Если бы я выбрал arraybuffer или blob в качестве типа ответа, двоичная часть была бы в порядке, но тогда я не знаю, как для анализа сообщения mutipart и отделения двоичного файла от части JSON.

Доступна ли какая-нибудь хорошая библиотека, которая обрабатывает составные ответы с двоичными частями?

...