Я хочу вызвать службу REST из Angular, которая возвращает составной ответ MIME. Ответ состоит из двух частей:
- двоичный файл (pdf)
- структура JSON с некоторой информацией о файле
У меня есть уже работающий клиент Java для службы REST.
Теперь я хочу вызвать службу из веб-браузера с помощью клиента Angular GUI.
Я попытался вызвать Служба REST с httpclient Angular и получить ответ в виде строки. Я проанализировал строку и смог отделить двоичный файл от части JSON. Обычно я разделяю строку, используя граничную строку в составном сообщении.
Проблема: Часть с двоичным файлом повреждена. Это означает, что некоторые двоичные значения были заменены последовательностью UTF-16 «0xEF 0xBF 0xBD», которая является символом замены UTF-16 для двоичных значений, которые не могут быть сопоставлены с UTF-16.
Очевидно, это не был хорошая идея сопоставить составной ответ с двоичным содержимым со строкой. Я мог бы закодировать двоичную часть с помощью BASE64 перед ее отправкой, но это именно то, чего я хотел избежать.
Если бы я выбрал arraybuffer или blob в качестве типа ответа, двоичная часть была бы в порядке, но тогда я не знаю, как для анализа сообщения mutipart и отделения двоичного файла от части JSON.
Доступна ли какая-нибудь хорошая библиотека, которая обрабатывает составные ответы с двоичными частями?