Как преобразовать данные ответов PDF службы Jersey REST в base64 - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть сервер Jersey REST для ответа PDF (application / pdf) на React.Я хочу преобразовать PDF в base64 на стороне клиента, а затем отобразить в новом окне.Тем не менее, pdf потеряет содержимое после преобразования с помощью FileReader. (Например: FileReader теряет данные при чтении PDF )

Код сервера Джерси:

@Override
@GET
@Path("/pdf")
@Produces(MediaType.APPLICATION_PDF_VALUE)
public Response testPdf() throws Exception {
    // TODO Auto-generated method stub
    File file = new File("C:\\test.pdf");
    FileInputStream fileInputStream = new FileInputStream(file);

    ResponseBuilder response = Response.ok((Object) fileInputStream);
    response.type("application/pdf");
    response.header("Content-Disposition", "filename=test.pdf");

    return response.build();
}

React clientсторона:

axios.get(/test/pdf).then((response) => {
            let reader = new FileReader();
            var file = new Blob([response.data], { type: 'application/pdf' });

            reader.onloadend = () => {
                // that.setState({

                let pdfWindow = window.open("")
                pdfWindow.document.write("<iframe width='100%' height='100%' src='" +reader.result+"'></iframe>")
            }


            reader.readAsDataURL(file);
        })

Кто-нибудь может помочь мне конвертировать PDF в base64 в React?

спасибо

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