Отправка PDF в бэкэнд кодировку разрывов и символов - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь использовать axios для отправки PDF, сгенерированного во внешнем интерфейсе, для сохранения во внутреннем интерфейсе.

Кажется, я не могу получить все типы прямо ..

axios.post(`http://localhost:8080/pdfs`,
        data,
        {
            responseType: 'arraybuffer',
            headers: {
                'Content-Type': 'application/json',
                'Accept': 'application/pdf'
            }
        })

Java обратно:

@POST
@Path("/pdfs")
public void test(final File req,
                 final @Context SecurityContext securityContext) throws IOException, SQLException {

    pdfService.init(req);

}

Очень простые вещи.В остальном PDF отлично, но такие символы, как ö и ä, разбиты, и даже некоторые пробелы печатаются как «Â»

Это происходит, когда pdf отправляется и возвращается на сервер, поскольку другая кнопка просто загружает тот же PDFиз внешнего интерфейса (без подключения к бэкэнду) все в порядке.

Должен ли я использовать responseType: Blob, или, возможно, попытаться настроить сторону Java?

При выводе на консоль данные на стороне сервера при поступлении выглядят так (все еще содержат все специальные символы):

%PDF-1.3
%ºß¬à
3 0 obj
<</Type /Page
/Parent 1 0 R
.....

Но если я остановлю работу с отладчиком, перед pdfService ивзгляните на tmp / files, он уже испорчен ..

1 Ответ

0 голосов
/ 18 февраля 2019

Да,

Вам необходимо закодировать файл с помощью base64, затем отправить, а затем снова декодировать при получении полученного файла.Единственный способ, которым я нашел это работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...